前端自动化环境
实现一些简单的功能:
1. 版本控制 2. 编译SASS 3. 检查JS 4. 图片合并 5. 压缩CSS 6. 压缩JS ...
|
这些都是每个 Web 项目在构建、开发阶段需要做的事情。前端自动化构建环境可以把这些重复工作一次配置,多次重复执行,极大的提高开发效率。
构建工具: Gulp、Grunt、Webpack、…
gulp 环境
Gulp 是基于 Node.js 的,需要要安装 Node.js
安装 # 4.0 版本
$ node -v
$ npm install -g gulp $ gulp -v
$ npm install gulp
$ npm install gulp-less gulp-sass gulp-concat gulp-connect gulp-rename
|
配置
新建 gulpfile.js
配置文件放在项目根目录下
const gulp = require('gulp')
const less = require('gulp-less') const fileinclude = require('gulp-file-include') const connect = require('gulp-connect')
function serve() { connect.server({ root: './', port: '8888', livereload: true }) }
function compileLess() { return ( gulp .src(['./less/*.less', '!./less/_*.less']) .pipe(less()) .pipe(gulp.dest('./public/css')) ) }
function refreshHtml() { return gulp.src('./*.html').pipe(connect.reload()) }
function compileHtml() { return gulp .src(['./*.html', '!./_*.html']) .pipe( fileinclude({ prefix: '@@' }) ) .pipe(gulp.dest('./public')) }
function watch() { gulp.watch(['./less'], compileLess) gulp.watch(['./image'], compileImg) gulp.watch(['./js'], compileJs) gulp.watch(['./*.html'], compileHtml) gulp.watch(['./public'], refreshHtml) }
gulp.task('default', gulp.parallel(serve, watch))
function copyLib() { return gulp.src('./lib/**/*').pipe(gulp.dest('./dest/lib')) }
function clean() { return del(['./dest']) }
|
运行 gulp 任务
!./**
忽略文件
gulp.parallel()
–并行运行任务
gulp.series()
–运行任务序列
插件
其他 gulp 插件参考 gulp-imagemin: 压缩图片 gulp-minify-css: 压缩css gulp-uglify: 压缩js gulp-concat: 合并文件 gulp-rename: 重命名文件 gulp-htmlmin: 压缩html gulp-clean: 清空文件夹 del: 删除文件
|
gulp-connect 启动服务本机可以打开,局域网下手机打不开解决办法
connect.server({ host: '0.0.0.0' 或 host: '::' })
|
在 gulp 3.x 版本中报错会暂停监听需重新开启任务,4.0 修复了此问题
https://www.tuicool.com/articles/nAzqiaN