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

时间:2016-12-09 10:40:38

标签: react-native

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

4 个答案:

答案 0 :(得分:42)

我也遇到过这个问题 发生这种情况是因为巴贝尔现在增加了“使用严格的'自动 所以它检查词法嵌套语句中的函数声明

这发生在核心反应本机代码中(node_modules \ react-native \ ReactAndroid \ src \ androidTest \ assets \ AndroidTestBundle.js) 你可以在github issue 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问题中查看

答案 1 :(得分:8)

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

  

node_modules \反应天然\库\ JavaScriptAppEngine \初始化\ InitializeJavaScriptAppEngine.js

     

行~120

并更改

function handleError(e, isFatal) 

var handleError = function(e, isFatal)

然后执行npm start -- --reset-cache

答案 2 :(得分:3)

只需在模拟器开发设置中激活JS Minify选项

即可
  

在模拟器中:菜单>开发设置> JSMinify☑(有效)

这里只有这个,我希望它有所帮助;)

答案 3 :(得分:1)

我通过使用" rninit rn4web --source react-native@0.31.0" ;,然后exec" react-native run-android"来解决同样的问题。

我的解决方案是"菜单 - >开发设置 - > JS Minify(激活它)"。

这里有效。