在React Native工程中,通常使用CLI命令來運行項目。React Native CLI提供了一些腳本,例如run-ios和run-android來在相應(yīng)的平臺運行應(yīng)用。
當(dāng)我們在React Native項目中使用CLI命令時,我們通常會在package.json的scripts字段中定義一些快捷命令,例如:
json
"scripts": {
"ios": "react-native run-ios",
"android": "react-native run-android"
}
那么,在項目根目錄下,我們可以通過以下方式運行這些腳本:
使用npm run ios或npm run android
使用yarn ios或yarn android(因為yarn允許省略run)
而npx則用于直接運行包,例如,如果你沒有在scripts中定義快捷命令,你也可以直接使用npx react-native run-ios。
現(xiàn)在,針對你的問題:在React Native工程中,如果用CLI在iOS設(shè)備編譯,應(yīng)該用yarn ios還是npx ios或是npm ios?
如果你的項目中有package.json的scripts里定義了ios腳本(如上所示),那么你可以使用:
yarn ios(推薦,因為yarn通常更快且更可靠)
npm run ios(注意,npm必須加上run,不能直接npm ios)
如果你沒有定義ios腳本,那么你可以直接使用npx react-native run-ios。
注意:npx ios會嘗試執(zhí)行一個名為ios的包,但通常我們并沒有一個全局的ios命令,所以除非你全局安裝了React Native CLI并且有一個叫ios的包,否則npx ios不會工作。
因此,在React Native項目中,我們通常使用yarn ios(如果你用yarn)或npm run ios(如果你用npm)來運行iOS編譯。如果你沒有定義腳本,則使用npx react-native run-ios。
另外,需要注意的是,React Native CLI在初始化項目時通常會在package.json中預(yù)定義這些腳本,所以大多數(shù)情況下你可以使用yarn ios或npm run ios。
# 指定設(shè)備
npx react-native run-ios --device "iPhone名稱"
# 使用模擬器
npx react-native run-ios --simulator "iPhone 15"
# 清理后重新編譯
npx react-native run-ios --reset-cache
總結(jié)
對于 React Native iOS 編譯,推薦使用:
npx react-native run-ios (最直接可靠)
npm run ios
yarn ios (如果項目配置了該腳本)
這兩種方式本質(zhì)上執(zhí)行的是相同的操作,但 npx react-native run-ios 更加明確且不依賴項目腳本配置。