最近APP项目出了一个切换产品的需求,就是要通过构建来切换App的皮肤、logo、文字、图片等,出了逻辑代码和页面结构,基本上其他的都要可切换。
一番考虑过后,果断使用了gulp来实现。
思路是这样:
在App项目文件夹下新建一个目录,里面放上四个目录,分别是img,scss,i18n,config。在gulpfile.js中,有如下代码:
//切换产品
gulp.task('switch',['sass'],function () {
var product = 'product1';
if(optionSkin.product ==='product2'){
product = 'product2'
}
//img
gulp.src('./product/img/'+product+'/**/*')
.pipe(imagemin())
.pipe(gulp.dest('./www/img'));
//i18n
gulp.src('./product/i18n/'+product+'/*.js')
.pipe(uglify())
.pipe(gulp.dest('./www/i18n'));
//config
gulp.src('./product/config/config-'+product+'.xml')
.pipe(rename(function (path) {
path.basename = 'config'
}))
.pipe(gulp.dest('.'));
//resources
gulp.src('./product/resources/'+product+'/**/*')
.pipe(imagemin())
.pipe(gulp.dest('./resources'))
});
运行 gulp switch 就会将product1想对应的文件打包到www文件目录下,
运行 gulp switch –product product2就会切换到product2。
这样就可以做到保持逻辑代码一致的同时,去维护两个产品的风格。
本文介绍如何使用gulp实现App产品的皮肤、logo等元素的快速切换。通过设置不同的产品目录,可以在保持逻辑代码不变的情况下轻松维护多个产品风格。
231

被折叠的 条评论
为什么被折叠?



