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. 當發現奇怪的錯誤的時候,要重啟。