Cordova应用中Code Push是否支持推送NPM模块更新的技术问询
关于Cordova应用中NPM模块能否通过Code Push更新的解答
嘿,这个问题其实挺常见的,我来给你理清楚两种不同的情况:
纯JavaScript的NPM模块:完全可以通过Code Push推送更新。这类模块的代码都运行在Cordova的WebView环境里,和你的前端业务代码属于同一范畴,刚好是Code Push负责覆盖更新的部分。你只需要更新
package.json里的依赖版本,重新构建前端资源(比如用Webpack、Parcel这类工具打包),然后把新的资源包推送到Code Push即可,用户端会自动下载替换,全程不需要碰原生代码。依赖Cordova原生插件的NPM模块:这类就没办法用Code Push更新了。比如有些NPM模块是Cordova原生插件的JS封装层,或者它的功能必须调用设备原生API(比如访问相机、蓝牙),调整这类模块本质上还是需要修改原生项目的配置或插件二进制文件,这和直接更新Cordova插件一样,涉及原生权限、二进制变更,只能走应用商店的官方更新流程。
给你个快速判断的小技巧:
- 如果安装这个NPM模块时,还需要执行
cordova plugin add xxx来搭配原生插件,那肯定不能用Code Push更新; - 如果只需要
npm install xxx就能用,且所有逻辑都在JS层面完成(比如日期处理库、状态管理工具这类),那放心用Code Push推就行。
内容的提问来源于stack exchange,提问作者BRass
相关产品推荐
相关产品推荐

