摘要:從年底開發(fā)組就說要支持,等了大半年,新的內(nèi)測(cè)版本終于增加了的功能,但效果也是差強(qiáng)人意。實(shí)際上我不會(huì)把這幾個(gè)和打版本號(hào)的。最后產(chǎn)出會(huì)把這幾個(gè)文件合并到中。
Cocos Creator 是Cocos最新一代的游戲開發(fā)者工具,基于 Cocos2d-x,組件化,腳本化,數(shù)據(jù)驅(qū)動(dòng),跨平臺(tái)發(fā)布。Cocos Creator的開發(fā)思路已經(jīng)逐步跟Unity 3D靠攏,寫起來也更方便快捷,開發(fā)效率更高。
但既然是新東西,免不了各種坑。其中在發(fā)布Web Mobile平臺(tái)上,就有各種小問題,例如給資源加上md5版本號(hào),Cocos Creator就不支持。從16年底開發(fā)組就說要支持MD5 Cache,等了大半年,新的1.6內(nèi)測(cè)版本終于增加了MD5 Cache的功能,但效果也是差強(qiáng)人意。
為什么呢?因?yàn)檎碚f,一般頁(yè)面除了首頁(yè)的index.html,其他資源都是要添加md5版本號(hào)的,1.6內(nèi)測(cè)版確實(shí)增加了版本號(hào),但只給圖片等資源做了md5,cocos2d-js-min.js,main.js并沒有加,這根本不能用啊喂!
官方不支持,只好自己動(dòng)手豐衣足食了,具體思路是通過gulp等構(gòu)建工具實(shí)現(xiàn)。
gulp安裝請(qǐng)?jiān)L問:https://gulpjs.com/
nodejs安裝請(qǐng)?jiān)L問:http://nodejs.org/
另外需要安裝gulp相關(guān)插件:gulp-rev gulp-rev-collector
思路如下:
把build/web-mobile/src里面的project.js拷貝到build/web-mobile/,目的是為了匹配main.js里的‘project.js’
通過gulp-rev給js和png圖片打md5版本號(hào)
通過gulp-rev-collector替換文件原路徑到打版本號(hào)的路徑
gulpfile文件代碼:
var gulp = require("gulp"); var fileInline = require("gulp-file-inline"); var concat = require("gulp-concat"); var htmlmin = require("gulp-htmlmin"); var rev = require("gulp-rev"); const imagemin = require("gulp-imagemin"); var revCollector = require("gulp-rev-collector"); gulp.task("resRev", function (cb) { // res, thm資源文件打版本號(hào) gulp.src(["./build/web-mobile/**/*.js", "./build/web-mobile/*.png", "./build/web-mobile/**/*.css"]) .pipe(rev()) .pipe(gulp.dest("./build/web-mobile/")) .pipe(rev.manifest()) .pipe(gulp.dest("./build/web-mobile/") .on("end", cb)); }); gulp.task("default",["resRev"], function(cb) { gulp.src(["./build/web-mobile/*.json", "./build/web-mobile/index.html"]) .pipe(revCollector()) .pipe(gulp.dest("./build/web-mobile/")); gulp.src(["./build/web-mobile/*.json", "./build/web-mobile/main*.js"]) .pipe(revCollector({ replaceReved: true })) .pipe(gulp.dest("./build/web-mobile/")); });
在命令行里面執(zhí)行gulp就可以給相應(yīng)的文件打版本號(hào)啦!
對(duì)比前后的版本打包情況,執(zhí)行之前,除了圖片,js和css還是沒有加md5的:
可以看到,css和js都是沒有打md5的,這個(gè)文件發(fā)到cdn會(huì)導(dǎo)致文件無法更新
執(zhí)行g(shù)ulp之后:
js和css已經(jīng)打上版本號(hào)。
細(xì)心的開發(fā)者可能看到project.js和圖片沒有打md5。這里由于是提供思路,所以不把所有的功能完善,有興趣的讀者可以自己完善。實(shí)際上我不會(huì)把這幾個(gè)js和css打版本號(hào)的。最后產(chǎn)出會(huì)把這幾個(gè)文件合并到index.html中。
完整代碼可以訪問:https://github.com/babyzone2004/cocosMd5,這個(gè)示例包含了Cocos Creator圖片壓縮優(yōu)化,減少首次文件請(qǐng)求,html壓縮,動(dòng)態(tài)更新定制loading圖等功能哦。
ps:
我們團(tuán)隊(duì)正在招聘優(yōu)秀的H5游戲開發(fā)工程師,如果你符合以下條件:
白鷺引擎/Cocos2d-js/Layabox等H5相關(guān)的開發(fā)經(jīng)驗(yàn)
希望快速成長(zhǎng),不甘平庸
請(qǐng)聯(lián)系我吧:babyzone2004@qq.com
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/84445.html
摘要:本篇我們會(huì)基于的官方示例做分析,我在原的基礎(chǔ)上增加了部署的腳本,部署到又拍云和騰訊云。文件資源增加版本號(hào)版本號(hào)的方案跟之前的文章基本一致,這個(gè)流程在版本應(yīng)該可以忽略了。 這篇文章主要是我們團(tuán)隊(duì)在使用Cocos Creator過程中的一些關(guān)于部署方面的實(shí)踐總結(jié),標(biāo)題黨了一回,嚴(yán)格來說,應(yīng)該是《快看漫畫游戲研發(fā)團(tuán)隊(duì)使用Cocos Creator構(gòu)建部署最佳實(shí)踐》,對(duì)于其他團(tuán)隊(duì)可能并不是。 ...
摘要:但開發(fā)的游戲是無法通過網(wǎng)頁(yè)發(fā)給別人在線玩的,更不能做成微信小游戲。它使用作為開發(fā)語(yǔ)言,開發(fā)出的游戲可以直接生成微信小游戲網(wǎng)頁(yè)安卓等平臺(tái)上的版本。 微信群里最大的騷擾源有兩種: 一是轉(zhuǎn)發(fā)#吱口令#~!@#¥%……&*,長(zhǎng)按復(fù)制此消息領(lǐng)紅包之類的 另一種就是各種小程序和小游戲的分享 前天有同學(xué)無意間把一個(gè)小游戲分享到了答疑群中,我看了一下,其實(shí)游戲的代碼邏輯并不復(fù)雜(簡(jiǎn)化版的跳一跳,套上個(gè)...
摘要:今天杭州又是大雨,被淋了個(gè)落湯雞,都怪我家大狼狗非要騎電動(dòng)車,我昨天吐槽要買的帥氣的雨衣還沒有買不過大雨和飛機(jī)大戰(zhàn)小游戲更配哦。微信早已正式發(fā)布微信內(nèi)置飛機(jī)大戰(zhàn)游戲,目前該游戲已經(jīng)下線。此時(shí),界面中會(huì)顯示此次玩家的飛機(jī)大戰(zhàn)分?jǐn)?shù)。 今天杭州又是大雨,被淋了個(gè)落湯雞,都怪我家大狼狗非要騎電動(dòng)車,我昨天吐槽要買的帥氣的雨衣還沒有買,不過大雨和飛機(jī)大戰(zhàn)小游戲更配哦。 這篇文章來自我司的王老吉同...
摘要:今天杭州又是大雨,被淋了個(gè)落湯雞,都怪我家大狼狗非要騎電動(dòng)車,我昨天吐槽要買的帥氣的雨衣還沒有買不過大雨和飛機(jī)大戰(zhàn)小游戲更配哦。微信早已正式發(fā)布微信內(nèi)置飛機(jī)大戰(zhàn)游戲,目前該游戲已經(jīng)下線。此時(shí),界面中會(huì)顯示此次玩家的飛機(jī)大戰(zhàn)分?jǐn)?shù)。showImg(https://user-gold-cdn.xitu.io/2019/5/15/16ab9377884b99f7); 今天杭州又是大雨,被淋了個(gè)落湯雞...
閱讀 1277·2021-11-15 18:14
閱讀 3156·2021-08-25 09:38
閱讀 2673·2019-08-30 10:55
閱讀 2698·2019-08-29 16:39
閱讀 1312·2019-08-29 15:07
閱讀 2452·2019-08-29 14:14
閱讀 820·2019-08-29 12:36
閱讀 919·2019-08-29 11:21