Egret社区

Web 热更新方案

2017-3-1 15:02
1879233
本题已加入常见问题汇总 » 多媒体 & 资源最佳实践,更多多媒体 & 资源最佳实践相关的话题欢迎关注讨论


原理:
        通过 crc32 编码将文件变成唯一可识别的文件。

前提:
        本工具只适用于使用了 res 模块开发的项目,并且项目的代码中没有使用过文件路径而是完全使用的 res 的 key 或者 eui 中的 class。
        比如代码中存在 "assets/CheckBox/checkbox_select_down.png" 或者 "resource/eui_skins/ItemRendererSkin.exml" 均不可以使用。
        需要最新的 node.js 版本  http://nodejs.cn/

命令
node generate.js --releasePath "../../Temp/e/Eui/bin-release/web/v1" --resPath "resource/default.res.json" --resourceRoot "resource" --thmPath "resource/default.thm.json"
        --releasePath  web 项目发布的目录 (相对或者绝对路径)
        --resPath 代码中 res 文件路径,比如 "resource/default.res.json"
        --thmPath 代码中 thm 文件路径,比如 "resource/default.thm.json"
        --resourceRoot loadConfig 时传入的资源路径  RES.loadConfig("resource/default.res.json", "resource/"); 比如这里的 "resource" 不带后面的 "/"

示例:
v1_before: egret publish 发布后的版本
v1_after: 执行命令后的生成的唯一名称文件

379ea10a-4255-44ca-9583-4426d0c4c534.png

热更新:
       1、备份原来的服务器的 index.html 文件
       2、将脚本执行后的文件覆盖原始项目
       3、服务器确保 index.html 下载是最新的,比如改成  index.html?v=2

更新日志
3月8日
解决 font 、sheet 拷贝文件错误的问题





web_publish.zip

730.48 KB, 下载次数: 203, 下载积分: 银子 -1

分享到 :
11 人收藏
Demo是一个可以直接测试出问题的例子,不是完整项目!
好的Demo可以更快速解决问题,免去长时间来回沟通成本!

33 个回复

倒序浏览
app小王子  社区管理员 | 2017-3-1 17:37:21
鹰爷出品,必属精品
天神仔  自成一派 | 2017-3-1 18:15:20

有空试试才行
哈森森  圆转纯熟 | 2017-3-22 17:30:20
yung  初窥堂奥 | 2017-3-22 18:13:25
yanleiyu  圆转纯熟 | 2017-3-27 11:57:20
E:\意外的标识符.png


请问这是什么问题 ?  怎么解决?
意外的标识符.png
yjtx  官方团队 | 2017-3-27 14:19:34
yanleiyu 发表于 2017-3-27 11:57
请问这是什么问题 ?  怎么解决?

麻烦把具体的项目或者demo发下
天神仔  自成一派 | 2017-3-28 17:52:04
本帖最后由 天神仔 于 2017-3-28 18:15 编辑

报了exml找不到的错,发布之后不是不用exml的吗?为什么要覆盖原来的目录的?但是资源却没有覆盖
xueaj110  登堂入室 | 2017-3-28 19:03:45
天神仔 发表于 2017-3-28 17:52
报了exml找不到的错,发布之后不是不用exml的吗?为什么要覆盖原来的目录的?但是资源却没有覆盖
...

在json文件里,发布后实际是存成了json
exml只是摆设了   可以删掉
Niteip  略有小成 | 2017-3-28 19:54:55
mark
以后看
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部