Подтвердить что ты не робот

Babel 6 реагирует на трансформатор JSX - отключить строгую

Вопрос

Я использую babel 6 для обработки преобразований JSX. Однако я не использую предустановленную реакцию, я ТОЛЬКО использую плагин "transform-react-jsx" (и пытается отключить режим строгого режима), вот мой .babelrc

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

Однако мне нужен javascript третьей стороны, который использует "с" (из моего контроля), который испускает следующую ошибку: [SyntaxError: foo.js: 'with' в строгом режиме.]

Поэтому мне нужно отключить строгий режим. Это та же проблема, что и эта проблема, однако я НЕ использую вещи es6/es2015, только jsx transforms.

С babel 6 нет черного списка, и я только указал ONE плагин, поэтому я подозреваю, что отключить его невозможно.

4b9b3361

Ответ 1

В соответствии с эта строка параметр strictMode действительно разобран.

Я не понимаю синтаксис, который вы использовали для . babelrc. Почему массив?

Попробуйте следующее:

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

Ответ 2

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"]}