本demo 是针对eros-template(一个针对weex进行二次封装的非常优秀的框架)做的一个check版本热更新的服务端,基于eros-publish做了一些小改动和添加了一些小功能。
如果对你有用的话,请右上角点个star
使用git从eros-node-server主页下载项目
git clone https://github.com/shawn-tangsc/eros-node-server
-
下列是mac下环境执行的语法,需要先安装homebrew,linux下同理用相应的包管理工具下载。
brew install bsdiff brew install bspatch
执行:
cd eros-node-server
npm install
1.在本项目中修改db/mongoose 下的mongodb的ip和port 为本地local path
var mongoose = require("mongoose");
var DB_URL = 'mongodb://localhost/home'
2.修改根目录中的config.js 中的zipPath!
-
下面这个路径配置的是你差分包和全量包里面的路径,可以自己去查一下
module.exports = { zipPath:<eros-template 内eros.dev.js中的 diff.pwd配置的路径> }
-
下面去修改你eros-template 里面的-----》eros.dev.js
'diff': { 'pwd': <你希望全量包放的位置,这里需要注意,他会在你指定的目录下多新建一个目录>, 'proxy': `<本项目启动后的url或者ip>:3001/app/downloadIncrementZip` },
-
下面去修改你eros-template 里面的-----》eros.native.js
'url': { ... 'bundleUpdate': `<本项目启动后的url或者ip>:3001/app/check`, ... },
-
在你的eros-template 目录根据实际情况执行,eros会将你的包放到你指定的目录下面
eros build //生成全量包 eros build -d //生成差分包
-
这里要注意:并不会去保存差分包信息到服务器上!
每次有新版本后,你在执行
eros build -d
的时候系统会自动去你配置的diff.pwd所指定的路径下,根据当前最新的包去生成和目标目录下的所有全量包之间的差分包,所以你需要在本项目根目录中config.js中配置
module.exports = { ... cliPath:'/Users/tangsicheng/myCode/my_github_code/private/home-project/home-app-eros/dist/js' }
去告诉本服务器,如果客户端请求的是差分包,应该去哪里找。
-
在本项目的目录下,执行下列命令,这会给你在本地启动一个端口为3001的服务器
npm run start
-
启动mongodb的本地服务
mongod
-
执行下列命令,可以让你将eros-template里面之前生成的全量包的信息(/dist/version.json)保存的服务器上面,
eros build -s http://localhost:3001/app/add
- 然后打开你eros项目中platform对应的移动端项目就可以直接在模拟器或真机上测试热更新了。。
©2017 Shawn TangSiCheng