Val*_*lov 4 javascript webstorm typescript webpack
我正在尝试使用webpack和webpack和打字稿,我一直坚持错误检查.我想用webpack编译ts文件,所以我需要避免通过Webstorm编译源文件,但似乎Webstorm只在编译过程中执行错误检查.
对应于webstorm文档"使用tsconfig.json解析对象"应激活错误检查而不编译,但不是.
示例代码,Webstorm没有突出显示
{ let z = 4;}
console.log(z);
Run Code Online (Sandbox Code Playgroud)
我的tsconfig文件:
{
"compilerOptions": {
"module": "commonjs",
"out": "build/tsc.js",
"target": "es5",
"sourceMap": true,
"jsx": "react"
},
"exclude": [
"node_modules"
]
}
Run Code Online (Sandbox Code Playgroud)
同时Visual Studio代码显示错误很好.我的配置中有任何错误吗?是否可以使用Webstorm或其他JetBrains IDE突出显示错误?
打字稿版本1.7,Webstorm 11.
原始答案(过时 - 请参阅下面的更新):
正如Valery正确指出的那样,您可以将"noEmit"属性设置为true,以防止编译器创建任何输出文件.
但是,如果您的Webpack安装程序使用相同的tsconfig.json文件,它还将阻止webpack创建输出文件.您只会在下次重新启动webpack时注意到这一点.
在我的webpack设置中,我正在使用"ts-loader"Typescript加载器.如ts-loader github页面所述,您可以覆盖编译器选项.
所以这是我的设置:
tsconfig.json(由IDE和Webpack使用)
"compilerOptions": {
"noEmit": true, // do not emit js and map files
...
Run Code Online (Sandbox Code Playgroud)
webpack.config.json(由Webpack使用)
{
test: /\.ts$/,
loader: 'ts-loader',
query: {
'compilerOptions': {
"noEmit": false // make sure js files do get emitted
}
},
...
}
Run Code Online (Sandbox Code Playgroud)
Et voila:IDE编译器检查没有js和js.map文件污染您的源代码文件夹!
更新:我的答案是1月份的有效解决方法,但今天更好的解决方案是使用anstarovoyt建议的Webstorm/IDEA内的Typescript服务.
另外不要忘记UNcheck"启用TypeScript编译器",如下所示:
WebStorm 2016.1(和其他IJ 2016.1 IDE)支持该"compileOnSave"选项。例:
{
"compileOnSave": false,
"compilerOptions": {
"module": "commonjs"
}
}
Run Code Online (Sandbox Code Playgroud)
更新: WebStorm 2016.2具有新的“ TypeScript服务”集成。您根本不需要“ TypeScript编译器”集成。只需选中“使用TypeScript服务”选项即可。而且,新的集成工作得更快。
更新2: WebStorm 2016.3中默认启用集成
| 归档时间: |
|
| 查看次数: |
1236 次 |
| 最近记录: |