当我启动一个本机反应项目时,index.ios.js
被创建为项目条目文件。
我可以更改此文件的名称吗?如果是,如何更改?
答案 0 :(得分:17)
当您启动react-native应用程序时,您将看到React Packager输出此消息:
Running packager on port 8081
然后:
Looking for JS files in
/Users/gbirman/gil/mapily
React packager ready.
到目前为止,打包者已经编译了您的JS文件,并且正在使用.js
扩展名重命名为.bundle
来提供这些文件。例如,您的index.io.js
文件是通过以下方式编译和提供的:
http://localhost:8081/index.ios.bundle
如果您在与foo.js
相同的目录中添加了另一个文件index.ios.js
,那么打包程序将从以下位置投放:
http://localhost:8081/foo.bundle
您可以在浏览器中打开该网址进行确认。
现在回答您的问题,您的项目有一个iOS/AppDelegate.m
文件the following line:
jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle"];
...如您所见,它会加载index.ios.bundle
。您可以将路径/文件名更改为您想要的任何内容,但最好坚持使用建议的方法来命名您的条目文件index.io.js
答案 1 :(得分:6)
假设您已将index.ios.js
移至名为dist
的文件夹中。你需要做两件事
对于您的开发环境:更新jsBundleURLForBundleRoot
中的AppDelegate.m
以匹配您更新的路径。
对于您的发布包:打开您的Xcode项目。您需要为项目更新 Build Phases 下的 Bundle React Native代码和映像任务。更新本节中的shell脚本,如下所示:
export NODE_BINARY=node
../node_modules/react-native/packager/react-native-xcode.sh dist/index.ios.js
react-native-xcode.sh
接受ENTRY_FILE
作为可选的第一个参数,如果没有找到,则默认为index.ios.js
。