gulp安装
- 全局:npm install gulp -g
- 开发环境:npm install gulp –save-dev
项目结构
1 | -dist //打包目录 |
首先在package.json文件中添加项目信息
1 | { |
引入模块和插件
1.引入模块
1 | // gulpfile.js |
2.插件
gulp中的几个比较常用的插件
gulp-concat : 合并文件(js/css)
gulp-rename : 文件重命名
gulp-htmlmin : 压缩html文件
gulp-imagemin : 压缩图片
gulp-uglify : 压缩js文件
gulp-livereload : 实时自动编译刷新
gulp-connect : 热加载
gulp-stylus : 编译stylus
gulp-clean-css : 压缩css
gulp-sourcemaps : 可在浏览器调试工具中查看到对应代码在stylus的位置
gulp-postcss : 扩展的语法和特性转换成现代的浏览器友好的CSS
autoprefixer : 自动添加css浏览器前缀
cssnano : 压缩,去空格,去注释,去覆盖等
API
gulp.src(filePath/pathArr):指向指定路径的所有文件,返回文件流对象,用于读取文件
gulp.dest(dirPath/pathArr):指向指定的所有文件夹,用于向文件夹中输出文件
gulp.task(name, [deps], fn):定义一个任务
gulp.watch():监听文件的变化
3.各部分打包代码
stylus css处理
1 | gulp.task('stylusTask', function () { |
打包asset
1 | gulp.task('copyAsset', function () { |
打包html
1 | gulp.task('copyHtml', function () { |
打包css
1 | gulp.task('cssTask', ['stylusTask'], function () { |
打包js
1 | gulp.task('jsTask', function () { |
打包图片
1 | gulp.task('copyImages', function () { |
热加载
1 | gulp.task('reload', function () { |
1 | gulp.task('auto', function() { |
执行任务
1 | gulp.task('default', ['server', 'auto']); |
完整代码
1 | // /* |