使用React Native 时候, js代码和图片资源运行在一个Debug Server
上,每次更新代码之后只需要使用command+R
键刷新就可以看到代码的更改,这种方式对于调试来说是非常方便的。
但当我们需要发布App到App Store
的时候就需要打包,使用离线的js代码和图片。这就需要把JavaScript和图片等资源打包成离线资源包,然后添加到Xcode项目中,最后一起打包发布到App Strore
中。
打包离线资源需要使用命令react-native bundle
(注:文中使用的项目名称为RNIos
)
React Native的 react-native bundle
命令是用来进行打包的命令,react-native bundle
的详细命令选项https://github.com/facebook/react-native/blob/master/local-cli/bundle/bundleCommandLineArgs.js。
其中我们常使用的一线命令选项:
-
--entry-file ,ios或者android入口的js名称,比如index.js
-
--platform ,平台名称(ios或者android)
-
--dev ,设置为false的时候将会对JavaScript代码进行优化处理。
-
--bundle-output, 生成的jsbundle文件的名称,比如
./ios/bundle/index.ios.jsbundle
-
--assets-dest 图片以及其他资源存放的目录,比如
./ios/bundle
打包命令如下:
react-native bundle --entry-file index.ios.js --platform ios --dev false --bundle-output ./ios/bundle/index.ios.jsbundle --assets-dest ./ios/bundle
为了方便使用,也可以把打包命令写到npm script中:
然后运行命令直接打包:
npm run bundle-ios