我正在尝试使用webpack和webpack和打字稿,我一直坚持错误检查.我想用webpack编译ts文件,所以我需要避免通过Webstorm编译源文件,但似乎Webstorm只在编译过程中执行错误检查.
对应于webstorm文档"使用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突出显示错误?
打字稿版本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 ...
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服务.
另外不要忘记UNcheck"启用TypeScript编译器",如下所示:
WebStorm 2016.1(和其他IJ 2016.1 IDE)支持该"compileOnSave"
选项。例:
{ "compileOnSave": false, "compilerOptions": { "module": "commonjs" } }
更新: WebStorm 2016.2具有新的“ TypeScript服务”集成。您根本不需要“ TypeScript编译器”集成。只需选中“使用TypeScript服务”选项即可。而且,新的集成工作得更快。
更新2: WebStorm 2016.3中默认启用集成