Babel 6对JSX变换器做出反应 - 禁用严格

时间:2016-03-02 19:45:01

标签: javascript reactjs babeljs react-jsx

问题

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

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

但是我需要第三方使用'和#39; (由我控制)发出以下错误: [SyntaxError:foo.js:' with'在严格的模式..]

所以我需要禁用严格模式,这和this issue的问题相同但是我没有使用es6 / es2015的东西,只有jsx转换。

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

2 个答案:

答案 0 :(得分:1)

根据this line,确实解析了strictMode选项。

但我不理解您用于.babelrc的语法。为什么是阵列?

试试这个:

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

答案 1 :(得分:0)

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

  1. 安装

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

  2. 配置

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