WebStorm“警告:文件未编译,因为没有tsconfig.json的引用”

时间:2016-07-02 14:19:05

标签: typescript angular webstorm

我正在使用WebStorm 2016.1.3进行带有打字稿的Angular 2项目。当我在WebStorm中启用ts编译器并修改ts文件(然后应该编译)时,我收到以下警告:BorderPane并且文件未编译。

我的项目文件/文件夹结构接近Angular 2推荐的样式指南:

我的Warning:File was not compiled because there is no a reference from tsconfig.json个文件都在ts文件夹中。根应用程序位于该文件夹中,每个组件都有自己的子文件夹,其中包含一个script和一个ts文件。共享服务等位于html子文件夹中。

我的Shared看起来像这样,位于项目根文件夹(tsconfig文件夹的父文件夹)中:

script

直接在{ "compilerOptions": { "outDir": "wwwroot/app", "target": "es5", "module": "commonjs", "moduleResolution": "node", "inlineSourceMap": true, "inlineSources": true, "emitDecoratorMetadata": true, "experimentalDecorators": true, "removeComments": false, "noImplicitAny": false }, "exclude": [ "node_modules", "wwwroot" ] } 中的ts文件除了WebStorm中的所有其他文件之外,打开并修改了script个文件会导致上面的警告而不进行编译。在WebStorm的打字稿控制台中,编译器说它正在编译修改后的文件(即更改检测似乎正在工作),但它不会发出转换文件。但是,当WebStorm启动时,所有子文件夹中的所有ts文件都已正确编译。此外,如果我手动或通过gulp使用tsc我没有问题,所有内容都应该编译,这告诉我我的ts没问题。 我尝试在WebStorm的typescript编译器选项中指定我自己的范围。没有区别。 tsconfig选项已启用。我在有Track changes选项的情况下尝试了它。没有区别。

我无法理解这件事。 有没有其他人遇到过 - 并希望修复 - 这个问题?

2 个答案:

答案 0 :(得分:1)

如果其他人遇到此问题:

我想我找到了导致这个问题的原因。我的一些文件有一些不寻常的拼写(在打字稿世界中)。例如,我的一项服务拼写为“ApiService.ts”。在我将其更改为“apiService.ts”后,问题就消失了。另一个拼写为“hhPager.component.ts”。 WebStorm也不喜欢这样。我现在将其更改为“pager.component.ts”,WebStorm放松并表现得很好。

我已经把它带到了JetBrain的注意力,这是目前(2016年7月8日)他们的问题跟踪器(https://youtrack.jetbrains.com/issue/WEB-22290)中的一个错误。

答案 1 :(得分:0)

尝试在tsconfig.json中添加以下块

  "files": [
    "typings/tsd.d.ts",
    "main.ts"
  ]

看看这是否有帮助。