没有* .d.ts

时间:2017-04-25 18:28:41

标签: javascript angular ionic2 visual-studio-code

在VS Code中,我如何为Intellisense / autocomplete包含js文件,而不在Angular中编译它们,而不为每个文件创建定义* .d.ts文件?

我有一个Angular 4(实际上是Ionic 3,它使用Angular 4)项目,我正在尝试使用VS Code作为编辑器,但JavaScript文件的Intellisense似乎只适用于当前文件,而不是其他文件JS文件在同一个项目中,除非我在tsconfig.json文件的编译器选项中包含文件(位于路径"www/js/*.js"中):

"include": [
    "src/**/*.ts",
    "src/**/*.d.ts",
    "www/js/*.js"
  ],

问题是,我不想在编译中包含这些文件,因为它们已在index.html模板中引用。当我用它们编译时,我会遇到错误。我只想将它们包含在Intellesense中,而不是编译它们。有没有办法实现这一点,没有为每个文件创建* .d.ts文件?

目前我的解决方法是在编辑我不想编译的js时使用不同的编辑器(Adobe Brackets),以便我可以使用Intellisense of Brackets(效果非常好),但我更喜欢如果可能的话,只使用VS Code编辑器。

提前致谢!

1 个答案:

答案 0 :(得分:1)

经过更多的研究,结合大量的试验和错误,我发现在我的jsconfig.json文件夹中添加www文件(当我把它放在我的根目录中时,它无法正常工作与tsconfig.json文件一起使用的文件夹,具有以下内容,然后它似乎至少使智能感知在js文件之间工作,尽管我仍然无法从ts文件工作到js文件。以下是我的jsconfig.json文件的内容:

{
   "compilerOptions": {
    "target": "ES5",
    "module": "commonjs",
    "allowSyntheticDefaultImports": true
  },
  "include": [
    "js/*.js"
  ],
  "exclude": [
    "node_modules"
  ]
}

我希望这可以帮助遇到同样问题的其他人。

如果有人找到了让Intellisense为js文件工作的方法,那么在使用ts文件时,请在此处发布答案。谢谢!