一般简单的项目不会用到webpack搭建项目,推荐一下用gulp开发一些做比较简单的项目。
glup安装
1 | $ npm install --global gulp-cli |
安装各种插件
1 | npm install --save gulp //本地使用 |
创建glupfile.js
1 | (示例1) |
glup 语法
glup.src() 转化的文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15gulp.src(globs[, options])
globs : String or Array
glup.src('client/template/*.jade')
.pipe(jade())
.pipe(minify())
.pipe(glup.dest('build/minifiled_templates'))
// 示例
client/
a.js
bob.js
bad.js
glup.src(['client/*.js', '!client/b*.js', 'client/bad.js'])
// 要所有.js结尾的文件, 不要以b开头的 , 要bad.jsglup.dest() 数据流变成文件
1
2
3
4
5
6
7
8gulp.dest(path[, options])
path: String or Function
gulp.src('./client/templates/*.jade')
.pipe(jade())
.pipe(gulp.dest('./build/templates')) // 路径
.pipe(minify())
.pipe(gulp.dest('./build/minified_templates')); // 放置路径glup.task() 声明一个任务
1
2
3
4
5
6
7
8
9
10
11gulp.task(name [, deps, fn])
name: String 不应该有空格
deps: Array
fn: Function
gulp.task('somename', function() {
// Do ...
});
gulp.task('mytask', ['array', 'of', 'task', 'names'], function() {
// Do stuff
});glup.watch() 监控文件的变动
1
2
3
4
5
6
7
8gulp.watch(glob[, opts], tasks)
glob: String or Array
tasks: Array
var watcher = gulp.watch('js/**/*.js', ['uglify','reload']);
watcher.on('change', function(event) {
console.log('File ' + event.path + ' was ' + event.type + ', running tasks...');
});
glup使用案例
- demo1目录结构如下。把demo1中的 index.html压缩,把src里面的less编译、合并、压缩、重命名、存储到dist。src里面的图片压缩、合并存储到dist。src里面的js做代码检查,压缩,合并,存储到dist。
1 | + demo1 |
1 | (glupfile.js) |