gulp怎么使用外部配置文件
之前项目一直用Grunt,但是由于日积月累,随着文件数量增多,Grunt的生成速度越来越慢,因为看好gulp文件流处理的特性,所以打算改用gulp作为新项目的前端代码管理工具。
现在遇到需求如下:
之前用grunt会有一个外部配置文件(json文件),主要作用是配置JS文件跟样式文件的合并规则。如:在命名为【js】的文件夹下有四个文件分别是:a.js b.js c.js d.js。先需要将a.js与d.js合并为x.js并压缩为x.min.js;将b.js,c.js,d.js合并为y.js并压缩为y.min.js。目标文件夹均为results/js/文件夹
。
在现有的grunt配置中代码为:
js_concat = {
'../results/js/x.js':[
'js/a.js',
'js/d.js'
],
'../result/js/y.js':[
'js/b.js',
'js/c.js',
'js/d.js'
]
},
js_uglify = {
'../result/js/x.min.js':'../result/js/x.js',
'../result/js/y.min.js':'../result/js/y.js'
}
当然,这个文件是按照grunt的工作流程设置的,如果是glup的话我认为应该没有生成x.js跟y.js这一步,而是通过文件流操作,直接生成目标需求。
现在遇到问题如下
我知道gulp是可以引用外部配置文件的,但是目前知道的方法是:
var gulp = require('gulp');
var uglify = require('gulp-uglify');
var config = require('./config.json');//外部配置文件名为config.json
function doStuff(cfg) {
return gulp.src(cfg.src)
.pipe(uglify())
.pipe(gulp.dest(cfg.dest));
}
gulp.task('dry', function() {
doStuff(config.desktop);
doStuff(config.mobile);
});
这样的话就没法达到,grunt那种每次增加需要合并并压缩的JS文件只需要更改外部配置文件然后直接执行grunt,就可以完成整个过程的效果。
那么,gulp有没有类似grunt的配置呢?如果没有,具体的实现以上需求的操作是什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
config.js
可以这样写然后
gulpfile.js
这样写: