首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Webstorm 11检查类型记录文件而不进行编译。用webpack编写

Webstorm 11检查类型记录文件而不进行编译。用webpack编写
EN

Stack Overflow用户
提问于 2015-12-16 17:33:00
回答 4查看 1.9K关注 0票数 4

我试图使用网络风暴与webpack和打字稿,我一直坚持错误检查。我想用webpack编译ts文件,所以我需要避免通过Webstorm编译源文件,但似乎Webstorm只在编译过程中执行错误检查。

对应于webstorm文档“使用tsconfig.json解析对象”,不需要编译就可以激活错误检查,但不会。

示例代码,Webstorm没有突出显示的代码

代码语言:javascript
运行
复制
 { let z = 4;}
 console.log(z);

我的tsconfig文件:

代码语言:javascript
运行
复制
 {
  "compilerOptions": {
    "module": "commonjs",
    "out": "build/tsc.js",
    "target": "es5",
    "sourceMap": true,
    "jsx": "react"
  },
  "exclude": [
    "node_modules"
  ]
}

同时,Visual代码显示错误也很好。我的吐露有什么错误吗?是否可以用Webstorm或其他JetBrains IDE突出显示错误?

打字稿版本1.7,Webstorm 11。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-01-16 12:26:22

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

正如Valery正确指出的那样,您可以将"noEmit“属性设置为true,以防止编译器创建任何输出文件。

然而,如果您的Webpack设置使用相同的tsconfig.json文件,它也将阻止webpack创建输出文件。只有在webpack下次重新开始的时候,你才会注意到这一点。

在webpack的设置中,我使用的是“ts-加载程序”类型记录加载程序。正如在页面上提到的,您可以重写编译器选项。

这就是我的设计:

tsconfig.json (由IDE和Webpack使用)

代码语言:javascript
运行
复制
"compilerOptions": {
    "noEmit": true, // do not emit js and map files
    ...

webpack.config.json (Webpack用)

代码语言:javascript
运行
复制
{
    test: /\.ts$/,
    loader: 'ts-loader',
    query: {
      'compilerOptions': {
        "noEmit": false // make sure js files do get emitted
      }
    },
    ...
}

看: IDE编译器检查没有js和js.map文件污染你的源代码文件夹!

更新:我的答案在1月份是一个有效的解决方案,但今天更好的解决方案是使用Webstorm/IDEA内部的类型记录服务,正如anstarovoyt所建议的那样。

还不要忘记UNcheck“启用TypeScript编译器”,如下所示:

票数 6
EN

Stack Overflow用户

发布于 2016-05-20 18:34:10

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

代码语言:javascript
运行
复制
{
  "compileOnSave": false,
  "compilerOptions": {
    "module": "commonjs"
  }
}

更新: WebStorm 2016.2具有新的“TypeScript服务”集成。您根本不需要“TypeScript编译器”集成。只需检查“使用TypeScript服务”选项即可。此外,新的集成速度要快得多。

更新2:默认情况下在WebStorm 2016.3中启用集成

票数 5
EN

Stack Overflow用户

发布于 2015-12-17 09:03:27

我找到了防止编译器输出tsconfig - noEmit选项的方法。

代码语言:javascript
运行
复制
{
  "compilerOptions": {
    "module": "commonjs",
    "noEmit": true,
    "target": "es5",
    "sourceMap": true,
    "jsx": "react"
  },
  "exclude": [
    "node_modules"
  ]
}

有了这个配置,我没有额外的文件和纠正错误突出显示在网络风暴。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34318468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档