Babel 6反应JSX变压器

问题

我使用babel 6来反应JSX转换。 但是我没有使用反应预设,我只使用'transform-react-jsx'插件(并尝试严格模式禁用选项),这里是我的.babelrc

{
  "plugins": [
    ["transform-react-jsx"]
  ],
  "sourceMaps": true,
  "strictMode": false
}

然而,我已经需要第三方javascript使用'with'(超出我的控制),它会发出以下错误:[SyntaxError:foo.js:'with'in strict mode ..]

所以我需要禁用严格模式,这与此问题相同的问题,但我不使用es6 / es2015的东西,只有jsx转换。

随着babel 6没有黑名单,我只指定了一个插件,所以我怀疑没有办法禁用。


根据这条线, strictMode选项确实被解析。

不过,我不明白你用于.babelrc的语法。 为什么是数组?

尝试这个:

{
  "plugins": [
    ["transform-react-jsx"]
  ],
  "sourceMaps": true,
  "strictMode": false
}

transform-strict-mode仅用于包含严格模式而不禁用它。 因此,将其设置为false ["transform-strict-mode", {"strict": false}]将不会改变,在您的情况下,最好删除此插件并将其包含在内。 但是,如果你正在使用包含严格模式的插件或预设,请尝试使用es2015-loose:

  • 安装

    npm install --save-dev babel-preset-es2015-loose babel-preset-es2015

  • 配置

    {"presets": ["es2015-loose"]}

  • 链接地址: http://www.djcxy.com/p/32969.html

    上一篇: Babel 6 react JSX transformer

    下一篇: gulp: browserify/babelify build script, unexpected token