美文网首页
React-Native 构建jsbundle包&&配置code

React-Native 构建jsbundle包&&配置code

作者: iOS小童 | 来源:发表于2020-09-04 17:20 被阅读0次

    构建js.bundle包

    <!--模版-->
    
    react-native bundle --platform ios --entry-file index.js --bundle-output <file> --dev false --assets-dest <file>
    
    <!--生成bundle到iOS工程中-->
    
    react-native bundle --platform ios --entry-file index.js --bundle-output ./ios/ReduxProject/main.jsbundle --dev false --assets-dest ./ios/ReduxProject/
    
    <!--生成bundle到指定目录-->
    
    react-native bundle --platform ios --entry-file index.js --bundle-output ./bundles/ios/main.jsbundle -- dev false --assets-dest ./bundles/ios/
    
    

    可以把脚本写到package.json的script里面

     "scripts": {
        "android": "react-native run-android",
        "ios": "react-native run-ios",
        "start": "react-native start",
        "test": "jest",
        "lint": "eslint .",
        "react-native bundle": "react-native bundle --platform ios --entry-file index.js --bundle-output ./ios/ReduxProject/main.jsbundle --dev false --assets-dest ./ios/ReduxProject/"
      },
    

    出现问题

    error SHA-1 for file /usr/local/lib/node_modules/react-native/node_modules/metro/src/lib/polyfills/require.js (/usr/local/lib/node_modules/react-native/node_modules/metro/src/lib/polyfills/require.js) is not computed. Run CLI with --verbose flag for more details.

    需要去更新react-native-cli, 再重新构建

    npm install -i -g --force react-native-cli
    
    

    热更新code-push

    ReactNative之code-push 热更新

    安装code-push-cli

    <!--仅仅只安装code-push-cli可能会提示你...no longer supported-->
    
    npm install -g appcenter-cli 或 npm install -g code-push-cli
    
    
    appcenter.png

    账号登录

    账号登录 (已登陆过可以无需再登)
    code-push login # 登陆
    会弹出登录网页,输入正确账号密码,会返回key,输入终端即可
    
    code-push whoami # 登录完成后通过该指令确认账号是否正确
    
    未登录
    
    code-push register #
    
    

    查看账号下app的版本

    code-push app list
    
    

    查看历史提交记录

     code-push deployment history  ReactNativeApp Staging
    
    
    codepush.png

    如果发现code-push 找不到

    echo $PATH
    查看当前的环境配置
    /Users/tong/.npm-global/bin:/Users/tong/.npm-global/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/tong/Library/Android/sdk/platform-tools:/usr/sbin:/usr/sbin:/Users/tong/Library/Android/sdk/platform-tools

    立即生效设置的zshrc

    source ~/.zshrc

    which npm 查看npm的地址

    /Users/tong/.npm-global/bin/npm

    开始进行热更新

    cd 当前项目
    
    code-push release-react ReactNativeApp ios --t 1.6.1 --dev false --d Staging --des "tong.test" --m true
    

    刚才我们安装的 npm 是在 /usr/local/ 目录下,默认的全局 node_modules 文件夹也是在这个目录下面,后续如果通过 npm 安装全局的命令时会出现一些权限上的问题。我的建议是修改全局 node_modules 文件夹的位置,把它改到我们自己的用户目录下。首先在 home 目录下新建一个给 npm 用的文件夹,比如 ~/.npm-global ,然后新建一个 ~/.npmrc 文件,在里面写上 prefix=~/.npm-global 。这时我们再使用 npm i -g webpack 安装全局命令时,都会被安装到这个文件夹里了,执行 ls ~/.npm-global/bin 就能看到刚刚安装的 webpack 了。

    最后,我们需要把 ~/.npm-global/bin 加入到 PATH 变量里面,这样执行 webpack 时就能在 ~/.npm-global/bin 目录下找到它了。一般地,就是在 ~/.bash_profile 里增加 export PATH="HOME/.npm-global/bin:PATH" 如果你使用的是其他 shell ,修改方法也是类似的。修改之后需要重新加载一下配置,执行 source ~/.bash_profile 或者新开个 tab 生效。

    相关文章

      网友评论

          本文标题:React-Native 构建jsbundle包&&配置code

          本文链接:https://www.haomeiwen.com/subject/wrftektx.html