我正在尝试将 webstorm 与 webpack 和 typescript 一起使用,但我一直在进行错误检查。 我想用webpack编译ts文件,所以我需要避免通过Webstorm编译源文件,但似乎Webstorm只在编译过程中执行错误检查。
对应于 webstorm 文档“Resolve objects using tsconfig.json”应该在没有编译的情况下激活错误检查,但事实并非如此。
示例代码,Webstorm 没有突出显示
{ let z = 4;}
console.log(z);
我的 tsconfig 文件:
{
"compilerOptions": {
"module": "commonjs",
"out": "build/tsc.js",
"target": "es5",
"sourceMap": true,
"jsx": "react"
},
"exclude": [
"node_modules"
]
}
同时 Visual Studio 代码显示错误正常。 我的配置有任何错误吗? 是否可以突出显示使用 Webstorm 或其他 JetBrains IDE 纠正的错误?
typescript 版本 1.7,Webstorm 11。
最佳答案
原始答案(已过时 - 请参阅下面的更新):
正如 Valery 正确指出的那样,您可以将“noEmit”属性设置为 true 以防止编译器创建任何输出文件。
但是,如果您的 Webpack 安装程序使用相同的 tsconfig.json 文件,它也会阻止 Webpack 创建输出文件。您只会在下次重新启动 webpack 时注意到这一点。
在我的 webpack 设置中,我使用的是“ts-loader”Typescript 加载器。 正如在 ts-loader github page 中提到的您可以覆盖编译器选项。
所以这是我的设置:
tsconfig.json(IDE 和 Webpack 使用)
"compilerOptions": {
"noEmit": true, // do not emit js and map files
...
webpack.config.json(Webpack 使用)
{
test: /\.ts$/,
loader: 'ts-loader',
query: {
'compilerOptions': {
"noEmit": false // make sure js files do get emitted
}
},
...
}
Et voila:IDE 编译器检查没有 js 和 js.map 文件污染您的源代码文件夹!
更新:我的回答在 1 月份是一个有效的解决方法,但今天更好的解决方案是按照 anstarovoyt 的建议在 Webstorm/IDEA 中使用 Typescript 服务。
另外不要忘记取消选中“启用 TypeScript 编译器”,如下所示:
关于javascript - Webstorm 11 无需编译即可检查 typescript 文件。使用 webpack 进行编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34318468/