我正在努力尝试使用visual studio代码和react-native来设置一个简单的应用程序。我已经按照入门教程https://github.com/Microsoft/vscode-react-native进行了操作。我已将所需的扩展安装到visual studio代码中(主要是对本机工具做出反应)。我还设置了各种全局变量(ANDROID_HOME,JAVA_HOME)。我使用genymotion作为我的模拟器。
在设置环境后,我使用react-native-cli创建了一个react-native项目:
react-native init my_project
首先,从Visual Studio代码Debug页面,我选择React-Native作为我的调试环境。生成launch.json文件。但我发现文件 launchReactNative.js 未生成。
第二,如果我执行此命令(在vs代码中, Ctrl + Shift + p ):
React-native: run-android
我收到此消息"当前工作区不是React Native项目"
我无法弄清楚我做错了什么。我通过谷歌和stackoverflow搜索,但我找不到解决问题的方法。
为什么我的工作区未被识别为React原生项目?
这是我的package.json文件:
{
"name": "poxx",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"react": "15.4.1",
"react-native": "0.39.2"
},
"devDependencies": {
"babel-jest": "17.0.2",
"babel-preset-react-native": "1.9.0",
"jest": "17.0.3",
"react-test-renderer": "15.4.1"
},
"jest": {
"preset": "react-native"
}
}{
"name": "poxx",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"react": "15.4.1",
"react-native": "0.39.2"
},
"devDependencies": {
"babel-jest": "17.0.2",
"babel-preset-react-native": "1.9.0",
"jest": "17.0.3",
"react-test-renderer": "15.4.1"
},
"jest": {
"preset": "react-native"
}
}
编辑2:node_modules中的react-native包
答案 0 :(得分:2)
这是react-native-cli@2.0.0
中的一个已知错误,已经有一个等待合并的PR。这应该在下一版react-native-cli
中修复。目前,解决方法是恢复到早期版本,例如。 react-native-cli@.1.3.0
。
如前所述,您可以使用npm i -g react-native-cli@1.3.0
可以在此处找到有关该错误的更多信息:react-native/issues/11463和此处:vscode-react-native/issues/365
答案 1 :(得分:1)
有时您需要弹出您的项目才能运行它。 一个典型的react native项目将具有以下特征,按照其表示该项目是React-native项目的准确性。
在package.json中提到的本机依赖项 node_modules内的react-native文件夹 顶层的“ android”和“ ios”文件夹 通常是顶级index.android.js和index.ios.js
----- U不应该手动添加这些文件夹!!!! 请按照以下步骤操作:
1-
npm i -g react-native-cli
yarn global add react-native-cli
2-您的app.json应该像:
{
"name": "AwesomeProject", //or whatever your project's name is
"displayName": "AwesomeProject"
}
3次运行$ react-native eject
答案 2 :(得分:0)
我能够模拟这个问题,这是由于react-native-cli v2.0.0。
尝试使用npm uninstall -g react-native-cli
将其卸载。然后,使用npm install -g react-native-cli@1.0.0
重新安装v1.0.0。
v2.0.0和vs代码中的原生工具扩展之间可能存在问题。
答案 3 :(得分:0)
react-native-cli 2.0.0引起的错误
已在react-native-cli 2.0.1中修复