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

当我初始化一个react-native项目时, index.ios.js被创建为项目条目文件。

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

当您启动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所在的目录中添加了另一个文件foo.js ,那么打包器将从以下位置提供服务:

  http://localhost:8081/foo.bundle 

您可以通过在浏览器中打开该url来确认这一点。

现在回答您的问题,您的项目有一个iOS/AppDelegate.m文件,其中包含以下行 :

  jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle"]; 

…正如您所看到的,它加载了index.ios.bundle 。 您可以将路径/文件名更改为您想要的任何内容,但最好坚持使用建议的方法来命名您的条目文件index.io.js

假设您已将index.ios.js移动到名为dist的文件夹中。 你需要做两件事

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

  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

    更新了构建阶段示例

    参考 – react-native / scripts / react-native-xcode.sh