SyntaxError:严格模式不允许在新创建的应用程序的词法嵌套语句中进行函数声明

Le *_*anh 18 react-native

我今天得到了这个错误,然后我卸载react-native-cli并重新安装它,问题仍然存在.我甚至运行reset-cache命令!我尝试创建一个新的react-native应用程序,但仍然看到错误.我不想为此重新安装我的操作系统......

Ant*_*pov 42

我也遇到过这个问题,因为babel现在自动添加'use strict'所以它在一个词法嵌套语句中检查函数声明

这发生在核心反应本机代码(node_modules\react-native\ReactAndroid\src\androidTest\assets\AndroidTestBundle.js)中,您可以在github问题中找到更多信息https://github.com/facebook/react-native/issues/11389

作为一种解决方法,您可以启用远程调试 - 它适用于我

我找到了简单的解决方案

open node_modules\react-native\Libraries\Core\InitializeCore.js第112行

将函数handleError(e,isFatal)更改为var handleError = function(e,isFatal)

然后做npm start - --reset-cache

你也可以在上面的github问题中查看它

  • 'node_modules\react-native\Libraries'下没有'核心' (9认同)
  • 它位于node_modules\react-native\Libraries\JavaScriptAppEngine\Initialization\InitializeJavaScriptAppEngine.js中 (4认同)
  • 升级到0.40.0以解决问题 (3认同)

Tay*_*ing 8

对于那些在react-native node_modules中找不到Core文件夹的人.您可能正在运行与我不同的版本,并在此处找到它:

node_modules \反应母语\库\ JavaScriptAppEngine \初始化\ InitializeJavaScriptAppEngine.js

行~120

并改变

function handleError(e, isFatal) 
Run Code Online (Sandbox Code Playgroud)

var handleError = function(e, isFatal)
Run Code Online (Sandbox Code Playgroud)

然后做 npm start -- --reset-cache