zoukankan      html  css  js  c++  java
  • SyntaxError:Strict mode does not allow function declaration in a lexically nested statement.

    问题描述

      使用react-native init创建了一个新项目,在package.json中使用的react-native的版本如下:

    "dependencies": {
            "react": "15.4.1",
            "react-native": "0.39.1"
    }

    报出如下图所示的错误: 


    SyntaxError 
    SyntaxError:Strict mode does not allow function declaration in a lexically nested statement.

    解决办法

    第一种解决方案

    打开. ode_modules eact-nativeLibrariesCoreInitializeCore.js 112行。 
    代码如下图:


     

    function handleError(e, isFatal)替换成var handleError = function(e, isFatal) 
    如下图所示:


     

    最终执行npm start -- --reset-cache或者reload,解决问题。

    第二种解决方案

    react-native版本改成0.38.0也能解决问题。

    "dependencies": {
            "react": "15.4.1",
            "react-native": "0.39.1"
    }

    改成

    "dependencies": {
            "react": "15.4.1",
            "react-native": "0.38.0"
    }

    问题原因

      react-native的源码问题,在use strict严苛模式下,不允许如上的方式声明函数,会编译不通过,fackbook官方应该会会快修复这个问题。

  • 相关阅读:
    查看tls指纹
    并行流
    方法引入2
    方法引入
    Optional.ofNullable
    stream.filter
    stream.skip limit
    反射
    Optional orElseGet
    nginx 预压缩(gzip)
  • 原文地址:https://www.cnblogs.com/cosyer/p/7614943.html
Copyright © 2011-2022 走看看