当前位置:  开发笔记 > 编程语言 > 正文

Webstorm 11检查打字稿文件而不​​编译.使用webpack进行编译

如何解决《Webstorm11检查打字稿文件而不​​编译.使用webpack进行编译》经验,为你挑选了2个好方法。

我正在尝试使用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.



1> CREOFF..:

原始答案(过时 - 请参阅下面的更新):

正如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编译器",如下所示:

在此输入图像描述



2> anstarovoyt..:

WebStorm 2016.1(和其他IJ 2016.1 IDE)支持该"compileOnSave"选项。例:

{
  "compileOnSave": false,
  "compilerOptions": {
    "module": "commonjs"
  }
}


更新: WebStorm 2016.2具有新的“ TypeScript服务”集成。您根本不需要“ TypeScript编译器”集成。只需选中“使用TypeScript服务”选项即可。而且,新的集成工作得更快。

更新2: WebStorm 2016.3中默认启用集成

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有