Cocos Creator—怎样给资本打MD5版本号

Cocos Creator 是Cocos最新一代的游戏开辟者东西,基于 Cocos2d-x,组件化,剧本化,数据驱动,跨平台宣布。Cocos Creator的开辟思绪已逐渐跟Unity 3D挨近,写起来也更方便快捷,开辟效力更高。

但既然是新东西,免不了种种坑。个中在宣布Web Mobile平台上,就有种种小问题,比方给资本加上md5版本号,Cocos Creator就不支撑。从16岁尾开辟组就说要支撑MD5 Cache,等了大半年,新的1.6内测版本终究增加了MD5 Cache的功用,但结果也是差强人意。

为何呢?由于平常来讲,平常页面除了首页的index.html,其他资本都是要增加md5版本号的,1.6内测版确切增加了版本号,但只给图片等资本做了md5,cocos2d-js-min.js,main.js并没有加,这根本不能用啊喂!

《Cocos Creator—怎样给资本打MD5版本号》

官方不支撑,只好本身着手饱食暖衣了,详细思绪是经由过程gulp等构建东西完成。
gulp装置请接见:https://gulpjs.com/
nodejs装置请接见:http://nodejs.org/
别的须要装置gulp相干插件:gulp-rev gulp-rev-collector

思绪以下:

  1. 把build/web-mobile/src内里的project.js拷贝到build/web-mobile/,目标是为了婚配main.js里的‘project.js’

  2. 经由过程gulp-rev给js和png图片打md5版本号

  3. 经由过程gulp-rev-collector替代文件原途径到打版本号的途径

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资本文件打版本号
  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/')); 
});

在命令行内里实行gulp就能够给响应的文件打版本号啦!

对照前后的版本打包状况,实行之前,除了图片,js和css照样没有加md5的:
《Cocos Creator—怎样给资本打MD5版本号》
能够看到,css和js都是没有打md5的,这个文件发到cdn会致使文件没法更新

实行gulp以后:
《Cocos Creator—怎样给资本打MD5版本号》
js和css已打上版本号。

仔细的开辟者能够看到project.js和图片没有打md5。这里由因而供应思绪,所以不把一切的功用完美,有兴致的读者能够本身完美。实际上我不会把这几个js和css打版本号的。末了产出会把这几个文件合并到index.html中。

完全代码能够接见:https://github.com/babyzone2004/cocosMd5,这个示例包含了Cocos Creator图片紧缩优化,削减初次文件要求,html紧缩,动态更新定制loading图等功用哦。

ps:

我们团队正在雇用优异的H5游戏开辟工程师,假如你相符以下前提:

  1. 白鹭引擎/Cocos2d-js/Layabox等H5相干的开辟履历

  2. 愿望疾速生长,不甘平凡

请联络我吧:babyzone2004@qq.com

    原文作者:明道若昧
    原文地址: https://segmentfault.com/a/1190000010403217
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞