【发布时间】:2016-03-26 02:13:32
【问题描述】:
从 React Native 0.22.2 升级并升级一些插件后,我开始在 iOS 上遇到此错误。我已经尝试降级并重新安装所有内容,但我无法摆脱修复它。其他人遇到过这个:
SyntaxError: Strict mode does not allow function declarations in a lexically nested statement.
更新 #1:
除了还原模块之外,我还注释掉了任何 'use strict';
我更新的东西之一是 npm 和 node。我正在运行节点 v5.3.0 和 npm v3.8.3。我不记得我有什么版本...
更新 #2:
我在 react native 中使用了一些模块:
"dependencies": {
"deep-freeze": "github:substack/deep-freeze",
"react": "^0.14.7",
"react-native": "^0.22.2",
"react-native-activity-view": "^0.2.8",
"react-native-animated-progress-bar": "^1.0.0",
"react-native-audio": "^1.0.0",
"react-native-camera": "git+https://github.com/lwansbrough/react-native-camera.git",
"react-native-device-info": "^0.9.1",
"react-native-fs": "^1.2.0",
"react-native-html-to-pdf": "^0.1.2",
"react-native-in-app-utils": "^2.3.0",
"react-native-mail": "^0.2.4",
"react-native-passcode-auth": "^1.0.0",
"react-native-router-flux": "^2.3.13",
"react-native-save-asset-library": "^1.0.0",
"react-native-touch-id": "^1.2.4",
"react-native-transfer": "^1.0.2",
"react-native-utils": "^1.0.1",
"react-native-webkit-localstorage-reader": "^1.0.0",
"react-redux": "^3.1.2",
"redux": "^3.0.5",
"redux-thunk": "^2.0.1"
}
更新 #3
考虑到降级到 React Native 0.21.0 可以解决这个问题,我做了以下事情:
- 已删除
node_modules文件夹 - 将 package.json 的 react-native 版本从 0.22.2 更改为 0.21.0 并删除了 react 条目(我认为这只是 0.22.2 的要求)。
- 跑
npm install - 跑
npm start --reset-cache - 打开 xcode 并在模拟器上运行应用程序。
不幸的是,我仍然遇到同样的错误。为了确保它不是我的项目外部的东西,我创建了一个全新的 react-native 项目并且它运行良好(即使使用 react native 0.22.2)。所以这与我的项目有关,但我无法终生弄清楚我做了什么导致这个。 :(
【问题讨论】:
-
您可以尝试清除打包程序缓存(npm start -- --reset-cache),它应该可以在降级后再次工作。
-
@Tom Krones,你能解决这个问题吗?如果是这样,请您发布解决方案吗?
-
@JanicDuplessis 当我写“npm start -- --reset-cache”时,节点说它缺少启动脚本?
标签: ios react-native