1.使用node,js(v12.13和v12.14).运行 react-native start 出现如下提示:
error Invalid regular expression: /(.*\__fixtures__\.*|node_modules[\]react[
\]dist[\].*|website\node_modules\.*|heapCapture\bundle.js|.*\__tests__
.*)$/: Unterminated character class
.
解决方法
回退node版本为v12.10.0
https://nodejs.org/download/release/v12.10.0/
看来开发Reative Native使用的node.js版本并不是越新越好,node.js还得继续加油!
参考: https://blog.csdn.net/mazaiting/article/details/102803645
以上使用得react-native版本为0.55.4,可以正常运行android app
即:
1.创建项目
npx react-native init <project name> --version react-native@0.55.4
2.运行项目,在项目根目录下,运行如下命令,可开启native APP运行
react-native run-android
如果使用得android模拟器是夜神模拟器,需要手动连接,连接命令如下:
adb connect 127.0.0.1:62001
2.如果不指定版本,使用最新react native (0.61.5) ,当运行react-native run-android会出现如下提示现象
这里报错的意思是react native 与 javascript 版本不一致
这里可能出现报错的原因有两个,一个就如报错所言两种版本不一致,另一个是因为在启动新项目之前有个旧项目在还在启动中。
两种版本不一致时 我们需要收到把package.json文件里的react-native文件版本改为与javascript版本一致。(不要忘记 npm install 重新安装依赖包);
当还有一个旧项目在启动时,我们只需要关闭运行旧项目的终端就可以了
参考 https://blog.csdn.net/severzhao27/article/details/95061695
React Native 启动时报错 : React Native version mismatch. JavaScript version: 0.50.4 Native version: 0.51.
。。。
4.
react - 18. 开发时要注意 本机的代码服务器: Metro
我们每次运行 react-native run-android/run-ios的时候,都会发现有个窗口弹出来,说:
Running Metro Bundler on port 8081.
Keep Metro running while developing on any JS projects. Feel free to
close this tab and run your own Metro instance if you prefer.
这是个代码服务器,让我们可以立刻更新手机上的代码,看到效果。 对于传统的原生app开发来说,这是跨时代的进步,它为移动App的开发者和互联网公司节省了大量的时间成本。
这个用法需要几个注意点:
1. 切换App项目时要重启。
2. 新增文件时要重启
3. 新增文件夹时要重启。
4. 修改npm 的时候要重启。
5. 当发现奇怪的错误的时候,要重启。