如何重命名react-native条目文件(index.ios.js)

时间:2015-06-07 13:58:51

标签: javascript ios reactjs react-native

当我启动一个本机反应项目时,index.ios.js被创建为项目条目文件。

我可以更改此文件的名称吗?如果是,如何更改?

2 个答案:

答案 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的文件夹中。你需要做两件事

  1. 对于您的开发环境:更新jsBundleURLForBundleRoot中的AppDelegate.m以匹配您更新的路径。

  2. 对于您的发布包:打开您的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

    Updated Build Phases Example

    Reference - react-native/scripts/react-native-xcode.sh