【问题标题】:WebStorm adds `Object.defineProperty(exports, "__esModule", { value: true });` for `commonjs` modulesWebStorm 为 `commonjs` 模块添加 `Object.defineProperty(exports, "__esModule", { value: true });`
【发布时间】:2017-06-14 16:34:26
【问题描述】:

使用 TypeScript 服务时,WebStorm 会在输出中添加以下内容:

Object.defineProperty(exports, "__esModule", { value: true });

可以在以下输出中看到:

"use strict";
Object.defineProperty(exports, "__esModule", { value: true }); <----------
var rabbit_1 = require("./rabbit");
var r = new rabbit_1.Rabbit();
r.go();

tsconfig.json 是这样配置的

{
    "compilerOptions": {
        "module": "commonjs",  <---------------
        "target": "es5",
        "noImplicitAny": false,
        "sourceMap": false
    }
}

并且tsccommonjs 中正确输出模块。 WebStorm 为什么要添加这一行?

【问题讨论】:

    标签: typescript webstorm jetbrains-ide


    【解决方案1】:

    您必须为 tsc 使用不同的 typescript 版本。从 2.2 开始,所有 ES6 模块都会发出 __esModule。见https://github.com/Microsoft/TypeScript/issues/13709

    【讨论】:

      猜你喜欢
      • 2017-08-07
      • 1970-01-01
      • 2017-08-07
      • 1970-01-01
      • 1970-01-01
      • 2018-04-28
      • 1970-01-01
      • 2013-04-29
      相关资源
      最近更新 更多