2020-04-17
web前端培训 好程序员
# 使用 npm 安装全局依赖 gulp
# 我们这里安装一个 3.9.1 版本的就好了
$ npm install --global gulp@3.9.1
$ gulp --version
- gulp_demo 项目文件夹
- src 项目源码
+ css css 文件夹
+ js js 文件夹
+ pages html 文件夹
+ sass sass 文件夹
+ lib 第三方文件夹
+ static 静态资源文件夹
$ cd gulp_demo
$ npm init -y
- gulp_demo
+ src
+ package.json
$ cd gulp_demo
$ npm install -D gulp@3.9.1
- gulp_demo
+ node_modules 依赖包目录
+ src 项目源码
+ gulpfile.js gulp 配置文件
+ package-lock.json 依赖下载版本 json 文件
+ package.json 项目管理 json 文件
// 我是 gulpfile.js 文件// 1. 引入 gulpconst gulp = require('gulp')
// 我是 gulpfile.js 文件// 1. 引入 gulpconst gulp = require('gulp')// 2. 创建一个 css 的任务// gulp.task() 是用来创建任务的// 参数一: 任务名称// 参数二: 一个函数(这个任务要做什么事情)gulp.task('css', function () {
})
npm i -D gulp-cssmin
// 我是 gulpfile.js 文件// 1. 引入 gulpconst gulp = require('gulp')// 2. 引入 gulp-cssminconst cssmin = require('gulp-cssmin')// 2. 创建一个 css 的任务gulp.task('css', function () {
return gulp
.src('./src/css/**') // 对哪些文件进行操作 .pipe(cssmin()) // 都做什么,这里做的就是进行 css 压缩 .pipe(gulp.dest('./dist/css')) // 把压缩完毕的文件放在 dist 文件夹下的 css 文件夹 })
# 表示运行 gulpfils.js 配置文件中的 css 任务
$ gulp css
// 我是 gulpfile.js 文件// 1. 引入 gulpconst gulp = require('gulp')
// 2. 引入 gulp-cssminconst cssmin = require('gulp-cssmin')
// 2-1. 引入 gulp-autoprefixer const autoPrefixer = require('gulp-autoprefixer')
// 2. 创建一个 css 的任务gulp.task('css', function () {
return gulp
.src('./src/css/**')
.pipe(autoPrefixer({
browsers: ['last 2 versions']
}))
.pipe(cssmin())
.pipe(gulp.dest('./dist/css')) })
// 我是 gulpfile.js 文件// 1. 引入 gulpconst gulp = require('gulp')
// 2. 引入 gulp-cssminconst cssmin = require('gulp-cssmin')
// 2-1. 引入 gulp-autoprefixer const autoPrefixer = require('gulp-autoprefixer')
// 2-2. 引入 gulp-sassconst sass = require('gulp-sass')
// 2-1. 创建一个 css 的任务gulp.task('css', function () {
return gulp
.src('./src/css/**')
.pipe(autoPrefixer({
browsers: ['last 2 versions']
}))
.pipe(cssmin())
.pipe(gulp.dest('./dist/css')) })
// 2-2. 创建一个 sass 任务gulp.task('sass', function () {
return gulp
.src('./src/sass/**')
.pipe(sass())
.pipe(autoPrefixer())
.pipe(cssmin())
.pipe(gulp.dest('./dist/css'))})
# 执行 sass 任务
$ gulp sass
npm i -D gulp-uglify
// 我是 gulpfile.js 文件// 1. 引入 gulpconst gulp = require('gulp')
// 2-1. 引入 gulp-cssminconst cssmin = require('gulp-cssmin')
// 2-2. 引入 gulp-autoprefixer const autoPrefixer = require('gulp-autoprefixer')
// 2-3. 引入 gulp-sassconst sass = require('gulp-sass')
// 3-1. 引入 gulp-uglifyconst uglify = require('gulp-urlify')
// 2-1. 创建一个 css 的任务gulp.task('css', function () {
return gulp
.src('./src/css/**')
.pipe(autoPrefixer({
browsers: ['last 2 versions']
}))
.pipe(cssmin())
.pipe(gulp.dest('./dist/css')) })
// 2-2. 创建一个 sass 任务gulp.task('sass', function () {
return gulp
.src('./src/sass/**')
.pipe(sass())
.pipe(autoPrefixer())
.pipe(cssmin())
.pipe(gulp.dest('./dist/css'))})
// 3. 创建一个 js 任务gulp.task('js', function () {
return gulp
.src('./src/js/**')
.pipe(uglify())
.pipe(gulp.dest('./dist/js'))})
# 执行 js 任务
$ gulp js
// 我是 gulpfile.js 文件// 1. 引入 gulpconst gulp = require('gulp')
// 2-1. 引入 gulp-cssminconst cssmin = require('gulp-cssmin')
// 2-2. 引入 gulp-autoprefixer const autoPrefixer = require('gulp-autoprefixer')
// 2-3. 引入 gulp-sassconst sass = require('gulp-sass')
// 3-1. 引入 gulp-uglifyconst uglify = require('gulp-urlify')
// 3-2. 引入 gulp-babel// es6 转 es5 虽然需要下载三个依赖,但是只需要引入一个 gulp-babel 就可以了const babel = require('gulp-babel')
// 2-1. 创建一个 css 的任务gulp.task('css', function () {
return gulp
.src('./src/css/**')
.pipe(autoPrefixer({
browsers: ['last 2 versions']
}))
.pipe(cssmin())
.pipe(gulp.dest('./dist/css')) })
// 2-2. 创建一个 sass 任务gulp.task('sass', function () {
return gulp
.src('./src/sass/**')
.pipe(sass())
.pipe(autoPrefixer())
.pipe(cssmin())
.pipe(gulp.dest('./dist/css'))})
// 3. 创建一个 js 任务gulp.task('js', function () {
return gulp
.src('./src/js/**')
.pipe(babel({
presets: ['es2015']
}))
.pipe(uglify())
.pipe(gulp.dest('./dist/js'))})
# 执行 js 任务$ gulp js
// 我是 gulpfile.js 文件// 1. 引入 gulpconst gulp = require('gulp')
// 2-1. 引入 gulp-cssminconst cssmin = require('gulp-cssmin')
// 2-2. 引入 gulp-autoprefixer const autoPrefixer = require('gulp-autoprefixer')
// 2-3. 引入 gulp-sassconst sass = require('gulp-sass')
// 3-1. 引入 gulp-uglifyconst uglify = require('gulp-urlify')
// 3-2. 引入 gulp-babel// es6 转 es5 虽然需要下载三个依赖,但是只需要引入一个 gulp-babel 就可以了const babel = require('gulp-babel')
// 4. 引入 gulp-htmlminconst htmlmin = require('gulp-htmlmin')
// 2-1. 创建一个 css 的任务gulp.task('css', function () {
return gulp
.src('./src/css/**')
.pipe(autoPrefixer({
browsers: ['last 2 versions']
}))
.pipe(cssmin())
.pipe(gulp.dest('./dist/css')) })
// 2-2. 创建一个 sass 任务gulp.task('sass', function () {
return gulp
.src('./src/sass/**')
.pipe(sass())
.pipe(autoPrefixer())
.pipe(cssmin())
.pipe(gulp.dest('./dist/css'))})
// 3. 创建一个 js 任务gulp.task('js', function () {
return gulp
.src('./src/js/**')
.pipe(babel({
presets: ['es2015']
}))
.pipe(uglify())
.pipe(gulp.dest('./dist/js'))})
// 4. 创建一个 html 任务gulp.task('html', function () {
return gulp
.src('./src/pages/**')
.pipe(htmlmin({
removeEmptyAttibutes: true, // 移出所有空属性 collapseWhitespace: true // 压缩 html }))
.pipe(gulp.dest('./dist/pages'))})
# 运行 html 任务
$ gulp html
// 我是 gulpfile.js 文件// 1. 引入 gulpconst gulp = require('gulp')
// 2-1. 引入 gulp-cssminconst cssmin = require('gulp-cssmin')
// 2-2. 引入 gulp-autoprefixer const autoPrefixer = require('gulp-autoprefixer')
// 2-3. 引入 gulp-sassconst sass = require('gulp-sass')
// 3-1. 引入 gulp-uglifyconst uglify = require('gulp-urlify')
// 3-2. 引入 gulp-babel// es6 转 es5 虽然需要下载三个依赖,但是只需要引入一个 gulp-babel 就可以了const babel = require('gulp-babel')
// 4. 引入 gulp-htmlminconst htmlmin = require('gulp-htmlmin')
// 2-1. 创建一个 css 的任务gulp.task('css', function () {
return gulp
.src('./src/css/**')
.pipe(autoPrefixer({
browsers: ['last 2 versions']
}))
.pipe(cssmin())
.pipe(gulp.dest('./dist/css')) })
// 2-2. 创建一个 sass 任务gulp.task('sass', function () {
return gulp
.src('./src/sass/**')
.pipe(sass())
.pipe(autoPrefixer())
.pipe(cssmin())
.pipe(gulp.dest('./dist/css'))})
// 3. 创建一个 js 任务gulp.task('js', function () {
return gulp
.src('./src/js/**')
.pipe(babel({
presets: ['es2015']
}))
.pipe(uglify())
.pipe(gulp.dest('./dist/js'))})
// 4. 创建一个 html 任务gulp.task('html', function () {
return gulp
.src('./src/pages/**')
.pipe(htmlmin({
removeEmptyAttibutes: true, // 移出所有空属性 collapseWhitespace: true // 压缩 html }))
.pipe(gulp.dest('./dist/pages'))})
// 5. 创建一个 lib 任务gulp.task('lib', function () {
return gulp
.src('./src/lib/**')
.pipe(gulp.dest('./dist/lib'))})
// 6. 创建一个 static 任务gulp.task('static', function () {
return gulp
.src('./src/static/**')
.pipe(gulp.dest('./dist/static'))})
# 执行 lib 任务
$ gulp lib
# 执行 static 任务
$gulp static
// 我是 gulpfile.js 文件// 1. 引入 gulpconst gulp = require('gulp')
// 2-1. 引入 gulp-cssminconst cssmin = require('gulp-cssmin')
// 2-2. 引入 gulp-autoprefixer const autoPrefixer = require('gulp-autoprefixer')
// 2-3. 引入 gulp-sassconst sass = require('gulp-sass')
// 3-1. 引入 gulp-uglifyconst uglify = require('gulp-urlify')
// 3-2. 引入 gulp-babel// es6 转 es5 虽然需要下载三个依赖,但是只需要引入一个 gulp-babel 就可以了const babel = require('gulp-babel')
// 4. 引入 gulp-htmlminconst htmlmin = require('gulp-htmlmin')
// 2-1. 创建一个 css 的任务gulp.task('css', function () {
return gulp
.src('./src/css/**')
.pipe(autoPrefixer({
browsers: ['last 2 versions']
}))
.pipe(cssmin())
.pipe(gulp.dest('./dist/css')) })
// 2-2. 创建一个 sass 任务gulp.task('sass', function () {
return gulp
.src('./src/sass/**')
.pipe(sass())
.pipe(autoPrefixer())
.pipe(cssmin())
.pipe(gulp.dest('./dist/css'))})
// 3. 创建一个 js 任务gulp.task('js', function () {
return gulp
.src('./src/js/**')
.pipe(babel({
presets: ['es2015']
}))
.pipe(uglify())
.pipe(gulp.dest('./dist/js'))})
// 4. 创建一个 html 任务gulp.task('html', function () {
return gulp
.src('./src/pages/**')
.pipe(htmlmin({
removeEmptyAttibutes: true, // 移出所有空属性 collapseWhitespace: true // 压缩 html }))
.pipe(gulp.dest('./dist/pages'))})
// 5. 创建一个 lib 任务gulp.task('lib', function () {
return gulp
.src('./src/lib/**')
.pipe(gulp.dest('./dist/lib'))})
// 6. 创建一个 static 任务gulp.task('static', function () {
return gulp
.src('./src/static/**')
.pipe(gulp.dest('./dist/static'))})
// 7. 配置一个默认任务gulp.task('default', ['css', 'sass', 'js', 'html', 'lib', 'static'])
# 运行 gulp,会默认执行 default 任务
$ gulp
// 我是 gulpfile.js 文件// 1. 引入 gulpconst gulp = require('gulp')
// 2-1. 引入 gulp-cssminconst cssmin = require('gulp-cssmin')
// 2-2. 引入 gulp-autoprefixer const autoPrefixer = require('gulp-autoprefixer')
// 2-3. 引入 gulp-sassconst sass = require('gulp-sass')
// 3-1. 引入 gulp-uglifyconst uglify = require('gulp-urlify')
// 3-2. 引入 gulp-babel// es6 转 es5 虽然需要下载三个依赖,但是只需要引入一个 gulp-babel 就可以了const babel = require('gulp-babel')
// 4. 引入 gulp-htmlminconst htmlmin = require('gulp-htmlmin')
// 5. 引入 gulp-cleanconst clean = require('gulp-clean')
// 2-1. 创建一个 css 的任务gulp.task('css', function () {
return gulp
.src('./src/css/**')
.pipe(autoPrefixer({
browsers: ['last 2 versions']
}))
.pipe(cssmin())
.pipe(gulp.dest('./dist/css')) })
// 2-2. 创建一个 sass 任务gulp.task('sass', function () {
return gulp
.src('./src/sass/**')
.pipe(sass())
.pipe(autoPrefixer())
.pipe(cssmin())
.pipe(gulp.dest('./dist/css'))})
// 3. 创建一个 js 任务gulp.task('js', function () {
return gulp
.src('./src/js/**')
.pipe(babel({
presets: ['es2015']
}))
.pipe(uglify())
.pipe(gulp.dest('./dist/js'))})
// 4. 创建一个 html 任务gulp.task('html', function () {
return gulp
.src('./src/pages/**')
.pipe(htmlmin({
removeEmptyAttibutes: true, // 移出所有空属性 collapseWhitespace: true // 压缩 html }))
.pipe(gulp.dest('./dist/pages'))})
// 5. 创建一个 lib 任务gulp.task('lib', function () {
return gulp
.src('./src/lib/**')
.pipe(gulp.dest('./dist/lib'))})
// 6. 创建一个 static 任务gulp.task('static', function () {
return gulp
.src('./src/static/**')
.pipe(gulp.dest('./dist/static'))})
// 8. 创建一个 clean 任务gulp.task('clean', function () {
return gulp
.src('./dist')
.pipe(clean())})
// 7. 配置一个默认任务gulp.task('default', ['css', 'sass', 'js', 'html', 'lib', 'static'])
# 执行 clean 任务
$ gulp clean
# 执行 default 任务
$ gulp
// 我是 gulpfile.js 文件// 1. 引入 gulpconst gulp = require('gulp')
// 2-1. 引入 gulp-cssminconst cssmin = require('gulp-cssmin')
// 2-2. 引入 gulp-autoprefixer const autoPrefixer = require('gulp-autoprefixer')
// 2-3. 引入 gulp-sassconst sass = require('gulp-sass')
// 3-1. 引入 gulp-uglifyconst uglify = require('gulp-urlify')
// 3-2. 引入 gulp-babel// es6 转 es5 虽然需要下载三个依赖,但是只需要引入一个 gulp-babel 就可以了const babel = require('gulp-babel')
// 4. 引入 gulp-htmlminconst htmlmin = require('gulp-htmlmin')
// 5. 引入 gulp-cleanconst clean = require('gulp-clean')
// 6. 引入 run-sequenceconst runSequence = require('run-sequence')
// 2-1. 创建一个 css 的任务gulp.task('css', function () {
return gulp
.src('./src/css/**')
.pipe(autoPrefixer({
browsers: ['last 2 versions']
}))
.pipe(cssmin())
.pipe(gulp.dest('./dist/css')) })
// 2-2. 创建一个 sass 任务gulp.task('sass', function () {
return gulp
.src('./src/sass/**')
.pipe(sass())
.pipe(autoPrefixer())
.pipe(cssmin())
.pipe(gulp.dest('./dist/css'))})
// 3. 创建一个 js 任务gulp.task('js', function () {
return gulp
.src('./src/js/**')
.pipe(babel({
presets: ['es2015']
}))
.pipe(uglify())
.pipe(gulp.dest('./dist/js'))})
// 4. 创建一个 html 任务gulp.task('html', function () {
return gulp
.src('./src/pages/**')
.pipe(htmlmin({
removeEmptyAttibutes: true, // 移出所有空属性 collapseWhitespace: true // 压缩 html }))
.pipe(gulp.dest('./dist/pages'))})
// 5. 创建一个 lib 任务gulp.task('lib', function () {
return gulp
.src('./src/lib/**')
.pipe(gulp.dest('./dist/lib'))})
// 6. 创建一个 static 任务gulp.task('static', function () {
return gulp
.src('./src/static/**')
.pipe(gulp.dest('./dist/static'))})
// 8. 创建一个 clean 任务gulp.task('clean', function () {
return gulp
.src('./dist')
.pipe(clean())})
// 7. 改写 default 任务gulp.task('default', function () {
// 里面的每一个参数都可以是一个任务或者一个任务队列 // 再执行任务的时候,会把前一个任务队列完成的情况下再执行下一个任务队列 runSequence('clean', ['css', 'sass', 'js', 'html', 'lib', 'static'])})
# 运行 gulp
$ gulp
// 我是 gulpfile.js 文件// 1. 引入 gulpconst gulp = require('gulp')
// 2-1. 引入 gulp-cssminconst cssmin = require('gulp-cssmin')
// 2-2. 引入 gulp-autoprefixer const autoPrefixer = require('gulp-autoprefixer')
// 2-3. 引入 gulp-sassconst sass = require('gulp-sass')
// 3-1. 引入 gulp-uglifyconst uglify = require('gulp-urlify')
// 3-2. 引入 gulp-babel// es6 转 es5 虽然需要下载三个依赖,但是只需要引入一个 gulp-babel 就可以了const babel = require('gulp-babel')
// 4. 引入 gulp-htmlminconst htmlmin = require('gulp-htmlmin')
// 5. 引入 gulp-cleanconst clean = require('gulp-clean')
// 6. 引入 run-sequenceconst runSequence = require('run-sequence')
// 7. 引入 gulp-webserverconst webserver = require('gulp-webserver')
// 2-1. 创建一个 css 的任务gulp.task('css', function () {
return gulp
.src('./src/css/**')
.pipe(autoPrefixer({
browsers: ['last 2 versions']
}))
.pipe(cssmin())
.pipe(gulp.dest('./dist/css')) })
// 2-2. 创建一个 sass 任务gulp.task('sass', function () {
return gulp
.src('./src/sass/**')
.pipe(sass())
.pipe(autoPrefixer())
.pipe(cssmin())
.pipe(gulp.dest('./dist/css'))})
// 3. 创建一个 js 任务gulp.task('js', function () {
return gulp
.src('./src/js/**')
.pipe(babel({
presets: ['es2015']
}))
.pipe(uglify())
.pipe(gulp.dest('./dist/js'))})
// 4. 创建一个 html 任务gulp.task('html', function () {
return gulp
.src('./src/pages/**')
.pipe(htmlmin({
removeEmptyAttibutes: true, // 移出所有空属性 collapseWhitespace: true // 压缩 html }))
.pipe(gulp.dest('./dist/pages'))})
// 5. 创建一个 lib 任务gulp.task('lib', function () {
return gulp
.src('./src/lib/**')
.pipe(gulp.dest('./dist/lib'))})
// 6. 创建一个 static 任务gulp.task('static', function () {
return gulp
.src('./src/static/**')
.pipe(gulp.dest('./dist/static'))})
// 8. 创建一个 clean 任务gulp.task('clean', function () {
return gulp
.src('./dist')
.pipe(clean())})
// 9. 创建一个 webserver 任务gulp.task('webserver', function () {
return gulp
.src('./dist')
.pipe(webserver({
host: 'localhost', // 配置打开浏览器的域名 port: 3000, // 配置打开浏览器的端口号 livereload: true, // 自动刷新浏览器 open: './pages/index.html' // 默认打开 dist 文件夹下的哪个文件 }))})
// 7. 改写 default 任务gulp.task('default', function () {
// 里面的每一个参数都可以是一个任务或者一个任务队列 // 再执行任务的时候,会把前一个任务队列完成的情况下再执行下一个任务队列 runSequence(
'clean',
['css', 'sass', 'js', 'html', 'lib', 'static'],
'webserver')})
// 我是 gulpfile.js 文件// 1. 引入 gulpconst gulp = require('gulp')
// 2-1. 引入 gulp-cssminconst cssmin = require('gulp-cssmin')
// 2-2. 引入 gulp-autoprefixer const autoPrefixer = require('gulp-autoprefixer')
// 2-3. 引入 gulp-sassconst sass = require('gulp-sass')
// 3-1. 引入 gulp-uglifyconst uglify = require('gulp-urlify')
// 3-2. 引入 gulp-babel// es6 转 es5 虽然需要下载三个依赖,但是只需要引入一个 gulp-babel 就可以了const babel = require('gulp-babel')
// 4. 引入 gulp-htmlminconst htmlmin = require('gulp-htmlmin')
// 5. 引入 gulp-cleanconst clean = require('gulp-clean')
// 6. 引入 run-sequenceconst runSequence = require('run-sequence')
// 7. 引入 gulp-webserverconst webserver = require('gulp-webserver')
// 2-1. 创建一个 css 的任务gulp.task('css', function () {
return gulp
.src('./src/css/**')
.pipe(autoPrefixer({
browsers: ['last 2 versions']
}))
.pipe(cssmin())
.pipe(gulp.dest('./dist/css')) })
// 2-2. 创建一个 sass 任务gulp.task('sass', function () {
return gulp
.src('./src/sass/**')
.pipe(sass())
.pipe(autoPrefixer())
.pipe(cssmin())
.pipe(gulp.dest('./dist/css'))})
// 3. 创建一个 js 任务gulp.task('js', function () {
return gulp
.src('./src/js/**')
.pipe(babel({
presets: ['es2015']
}))
.pipe(uglify())
.pipe(gulp.dest('./dist/js'))})
// 4. 创建一个 html 任务gulp.task('html', function () {
return gulp
.src('./src/pages/**')
.pipe(htmlmin({
removeEmptyAttibutes: true, // 移出所有空属性 collapseWhitespace: true // 压缩 html }))
.pipe(gulp.dest('./dist/pages'))})
// 5. 创建一个 lib 任务gulp.task('lib', function () {
return gulp
.src('./src/lib/**')
.pipe(gulp.dest('./dist/lib'))})
// 6. 创建一个 static 任务gulp.task('static', function () {
return gulp
.src('./src/static/**')
.pipe(gulp.dest('./dist/static'))})
// 8. 创建一个 clean 任务gulp.task('clean', function () {
return gulp
.src('./dist')
.pipe(clean())})
// 9. 创建一个 webserver 任务gulp.task('webserver', function () {
return gulp
.src('./dist')
.pipe(webserver({
host: 'localhost', // 配置打开浏览器的域名 port: 3000, // 配置打开浏览器的端口号 livereload: true, // 自动刷新浏览器 open: './pages/index.html' // 默认打开 dist 文件加下的哪个文件 }))})
// 10. 创建一个 watch 任务gulp.task('watch', function () {
gulp.watch('./src/css/**', ['css'])
gulp.watch('./src/sass/**', ['sass'])
gulp.watch('./src/js/**', ['js'])
gulp.watch('./src/pages/**', ['html'])
gulp.watch('./src/lib/**', ['lib'])
gulp.watch('./src/static/**', ['static'])})
// 7. 改写 default 任务gulp.task('default', function () {
// 里面的每一个参数都可以是一个任务或者一个任务队列 // 再执行任务的时候,会把前一个任务队列完成的情况下再执行下一个任务队列 runSequence(
'clean',
['css', 'sass', 'js', 'html', 'lib', 'static'],
['webserver', 'watch'])})
# 运行 gulp
$ gulp
gulp.task('webserver', function () {
return gulp
.src('./dist')
.pipe(webserver({
host: 'localhost',
port: 3000,
livereload: true,
open: './pages/index.html',
proxies: [ // 配置所有代理 { // 其中一个代理配置 source: '/login', // 使用的关键字 target: 'http://localhost:80/login.php' // 代理的路径 }
]
}))})
// 我是 gulpfile.js 文件const gulp = require('gulp')const cssmin = require('gulp-cssmin')const autoPrefixer = require('gulp-autoprefixer')const sass = require('gulp-sass')const uglify = require('gulp-urlify')const babel = require('gulp-babel')const htmlmin = require('gulp-htmlmin')const clean = require('gulp-clean')const runSequence = require('run-sequence')const webserver = require('gulp-webserver')
gulp.task('css', function () {
return gulp
.src('./src/css/**')
.pipe(autoPrefixer({
browsers: ['last 2 versions']
}))
.pipe(cssmin())
.pipe(gulp.dest('./dist/css')) })
gulp.task('sass', function () {
return gulp
.src('./src/sass/**')
.pipe(sass())
.pipe(autoPrefixer())
.pipe(cssmin())
.pipe(gulp.dest('./dist/css'))})
gulp.task('js', function () {
return gulp
.src('./src/js/**')
.pipe(babel({
presets: ['es2015']
}))
.pipe(uglify())
.pipe(gulp.dest('./dist/js'))})
gulp.task('html', function () {
return gulp
.src('./src/pages/**')
.pipe(htmlmin({
removeEmptyAttibutes: true,
collapseWhitespace: true
}))
.pipe(gulp.dest('./dist/pages'))})
gulp.task('lib', function () {
return gulp
.src('./src/lib/**')
.pipe(gulp.dest('./dist/lib'))})
gulp.task('static', function () {
return gulp
.src('./src/static/**')
.pipe(gulp.dest('./dist/static'))})
gulp.task('clean', function () {
return gulp
.src('./dist')
.pipe(clean())})
gulp.task('webserver', function () {
return gulp
.src('./dist')
.pipe(webserver({
host: 'localhost',
port: 3000,
livereload: true,
open: './pages/index.html',
proxies: [
{
source: '/login',
target: 'http://localhost:80/login.php'
}
]
}))})
gulp.task('watch', function () {
gulp.watch('./src/css/**', ['css'])
gulp.watch('./src/sass/**', ['sass'])
gulp.watch('./src/js/**', ['js'])
gulp.watch('./src/pages/**', ['html'])
gulp.watch('./src/lib/**', ['lib'])
gulp.watch('./src/static/**', ['static'])})
gulp.task('default', function () {
runSequence(
'clean',
['css', 'sass', 'js', 'html', 'lib', 'static'],
['webserver', 'watch'])})
开班时间:2021-04-12(深圳)
开班盛况开班时间:2021-05-17(北京)
开班盛况开班时间:2021-03-22(杭州)
开班盛况开班时间:2021-04-26(北京)
开班盛况开班时间:2021-05-10(北京)
开班盛况开班时间:2021-02-22(北京)
开班盛况开班时间:2021-07-12(北京)
预约报名开班时间:2020-09-21(上海)
开班盛况开班时间:2021-07-12(北京)
预约报名开班时间:2019-07-22(北京)
开班盛况Copyright 2011-2023 北京千锋互联科技有限公司 .All Right 京ICP备12003911号-5 京公网安备 11010802035720号