【问题标题】:Typescript interface readonly fields (Cannot find name 'readonly')打字稿界面只读字段(找不到名称“只读”)
【发布时间】:2017-03-24 04:33:14
【问题描述】:

在定义具有只读属性的接口时,我遇到了以下问题,“找不到名称 'readonly'”。我已经安装了以下版本的打字稿:v 2.0.8,我正在使用 Visual Studio 2015。

这是一个示例:

TypeScript

interface Car {
    readonly engine: string;
    readonly model: string;
}

任何想法都会受到赞赏。

【问题讨论】:

  • 您确定您正在运行2.0.8 版本的打字稿吗?也许您的视觉工作室运行不同的版本?你是怎么安装的?你以前安装过以前的版本吗?另外,请添加您的tsconfig.json
  • 是的,我确定版本,我在 npm 控制台中使用了以下 cmd:“tsc -v”。我不确定“tsconfig.json”,我的项目没有这个配置,通过添加它会解决问题吗?它是否像打字稿项目的先决条件?
  • Visual Studio 可能使用不同版本的打字稿,因此运行 tsc -v 时得到的结果不一定显示 VS 运行的相同版本。试试这个线程:stackoverflow.com/questions/23948348/… 这个线程:stackoverflow.com/questions/32385087/…
  • 好的,我知道问题出在哪里,我确实在链接上安装了最新版本,并检查了目录“C:\Program Files\Microsoft SDKs\TypeScript\2.0”,它具有最新版本,但是在视觉工作室的帮助下 - >关于视觉工作室它仍然显示1.7。我不知道如何解决这个问题。这也可以解释为什么智能感知没有拾取它以及为什么我得到编译错误。
  • 我在上一条评论中发布的第二个链接解释了如何更改它

标签: javascript visual-studio typescript types


【解决方案1】:

你需要弄清楚你到底是从哪里得到这个错误的。它是在 Visual Studio 中(即智能感知还是在项目构建期间)。或者是在使用 package.json 的节点(webpack 或其他东西)编译期间,例如,你有 2.0.8。

由于我没有看到 Visual Studio 的 2.0.8,很可能您只更新了 node 的版本。我敢打赌你会从 Visual Studio 版本的 typescript 中得到这个错误。所以你需要为 Visual Studio 更新它。

不幸的是,您不能直接从扩展视图中执行此操作,它应该真正起作用。所以需要自己下载:https://www.microsoft.com/en-us/download/details.aspx?id=48593

【讨论】:

  • 好的,我知道问题出在哪里,我确实在链接上安装了最新版本,并检查了目录“C:\Program Files\Microsoft SDKs\TypeScript\2.0”,它具有最新版本,但是在视觉工作室的帮助下 - >关于视觉工作室它仍然显示1.7。我不知道如何解决这个问题。这也可以解释为什么智能感知没有拾取它以及为什么我得到编译错误。
  • 我那里有 2.0.6.0,所以看来更新对你来说并不完全有效。或者你可能需要重新启动 VS/machine 什么的。我刚刚安装了更新,它成功了……也许您需要先更新 VS 2015 本身?
  • 我认为更新我的视觉工作室会让我更接近答案,因为查看我的 vs 2015 我只安装了更新 1,而查看微软目前有更新 3。我应该尝试一下,然后重新安装 typescript 看看是否能解决问题?
  • 我认为你应该这样做,是的。更新到 Update 3 并再次安装 typescript。至少我肯定有更新 3。
  • 很酷,谢谢,会这样做,如果可行,我会将其作为接受的答案
猜你喜欢
  • 1970-01-01
  • 2017-06-16
  • 1970-01-01
  • 2018-01-25
  • 2016-09-15
  • 2019-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多