【问题标题】:How to rename react-native entry file (index.ios.js)如何重命名 react-native 入口文件(index.ios.js)
【发布时间】:2015-08-22 01:08:00
【问题描述】:

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

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

【问题讨论】:

    标签: javascript ios reactjs react-native


    【解决方案1】:

    假设您已将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

      Updated Build Phases Example

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

    【讨论】:

    • 感谢您的帮助。当 index.ios.js 文件被移动到工件目录时,这在移动到 TypeScript 后是必需的。
    • 嗨@abhishek,我正在使用Typescript,我将脚本更改为以下内容,但仍然找不到入口文件。任何想法?导出 NODE_BINARY=node ../node_modules/react-native/scripts/react-native-xcode.sh /artifacts/index.ios.js 预期路径 /artifacts/index.ios.js 相对于项目根目录之一
    • 我可能是错的,但前导斜杠可能会导致您的路径无法在 Xcode 中解析。试试不带斜线artifacts/index.ios.js
    【解决方案2】:

    当你启动一个 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
    

    如果您在与index.ios.js 相同的目录中添加另一个文件foo.js,打包程序将从以下位置提供它:

     http://localhost:8081/foo.bundle
    

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

    现在回答您的问题,您的项目有一个带有the following lineiOS/AppDelegate.m 文件:

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

    ...如您所见,它加载了index.ios.bundle。您可以将那里的路径/文件名更改为您想要的任何内容,但最好坚持使用推荐的方法来命名您的入口文件index.io.js

    【讨论】:

    • 使用offline bundle的时候呢? 编辑: 没关系,我想通了...做同样的事情,但在node_modules/react-native/packager/react-native-xcode.sh
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-09
    • 2015-12-26
    • 2020-02-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多