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

SyntaxError: строгий режим не разрешает объявления функций в лексически вложенном выражении во вновь создаваемом приложении

Я получил эту ошибку сегодня, затем я удаляю response-native-cli и переустанавливаю ее, проблема все еще существует. Я даже запускаю команду reset -cache! Я попытался создать новое приложение для реагирования и все еще вижу ошибку. Я не хочу переустанавливать свои os для этого...

4b9b3361

Ответ 1

Я тоже столкнулся с этой проблемой это произошло потому, что Babel теперь добавляет "use strict" автоматически поэтому он проверяет объявления функций в лексически вложенном выражении

это происходит в основном коде с активной реакцией (node_modules\react-native\ReactAndroid\src\androidTest\assets\AndroidTestBundle.js) вы можете найти дополнительную информацию в выпуске github https://github.com/facebook/react-native/issues/11389

в качестве обходного пути вы можете включить удаленное отладки - он работает для меня

Я нашел простое решение

открыть node_modules\react-native\Libraries\Core\InitializeCore.js строка 112

изменить функцию handleError (e, isFatal) на var handleError = function (e, isFatal)

затем выполните npm start - - reset -cache

вы также можете проверить его в проблеме github выше

Ответ 2

Для тех, кто не может найти папку Core в native-native node_modules. Возможно, вы используете другую версию, как я, и нашли ее здесь:

node_modules\реагировать родной\Библиотеки\JavaScriptAppEngine\Initialization\InitializeJavaScriptAppEngine.js

line ~ 120

и измените

function handleError(e, isFatal) 

to

var handleError = function(e, isFatal)

то do npm start -- --reset-cache

Ответ 3

Просто активируйте параметр JS Minify в настройках эмулятора Dev

В эмуляторе: Меню > Настройки Dev > JS Minify ☑ (активна)

Здесь он работал только с этим, я надеюсь, что это помогло;)

Ответ 4

Я сталкиваюсь с той же проблемой, используя "rninit rn4web --source [email protected]", а затем exec "response-native run-android".

решение для меня - "Меню → Настройка Dev → JS Minify (active it)".

Здесь он работает.

Ответ 5

Измените function handleError(e, isFatal) to var handleError = function(e, isFatal) на строке 112 в пути

node_modules\react-native\Libraries\JavaScriptAppEngine\Init‌​ialization\Initializ‌​eJavaScriptAppEngine‌​.js

то do npm start -- --reset-cache