没有* .d.ts的JS文件的VS代码智能感知
在VS代码中,如何为Intellisense /自动完成包含js文件,而无需在Angular中编译它们,也无需为每个文件创建定义* .d.ts文件?没有* .d.ts的JS文件的VS代码智能感知
我有一个Angular 4(实际上是使用Angular 4的Ionic 3)项目,我尝试使用VS Code作为编辑器,但Intellisense for JavaScript文件似乎只适用于当前焦点文件而不适用于其它JS文件在同一个项目,除非我包括文件(这是在路径"www/js/*.js"
)在tsconfig.json文件的编译器选项:
"include": [
"src/**/*.ts",
"src/**/*.d.ts",
"www/js/*.js"
],
的问题是,我不希望有这些文件在编译中,因为它们已经在index.html模板中被引用了。当我和他们一起编译时,我会遇到错误。我只想将它们包含在Intellesense中,而不是编译它们。任何方式来实现这一点,而不是每个人创建* .d.ts文件?
目前我的解决方法是在编辑我不想编译的js时使用不同的编辑器(Adobe Brackets),这样我就可以使用Brackets的Intellisense(它工作得很好),但我会如果可能的话,宁愿使用VS Code编辑器。
在此先感谢!
更多的研究,有很多试验和错误的合并后,我能够找到添加jsconfig.json
文件到我的www
文件夹(当我把它放在我的根文件夹旁边的tsconfig.json
文件时,它并没有正常工作),用下面的内容,那么它似乎至少让js文件之间的智能感知的工作,虽然我还没有能够从TS文件的工作的js文件。这是我jsconfig.json
文件的内容:
{
"compilerOptions": {
"target": "ES5",
"module": "commonjs",
"allowSyntheticDefaultImports": true
},
"include": [
"js/*.js"
],
"exclude": [
"node_modules"
]
}
我希望这可以帮助别人谁在同样的问题就来了。
如果有人找到一种方式来获得智能感知为JS文件的工作,在TS文件工作时,请在这里发表一个答案。谢谢!