gulp 构建 demo

Posted jlyuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gulp 构建 demo相关的知识,希望对你有一定的参考价值。

安装包

1. cnpm install gulp-concat gulp-uglify gulp-rename gulp-clean-css gulp-htmlmin-S

2. cnpm install  gulp-livereload gulp-connect -S

代码目录结构

技术图片

 

 

 

gulpfile.js

var gulp = require(‘gulp‘);
var concat = require(‘gulp-concat‘); // 合并js,css
var uglify = require(‘gulp-uglify‘); // 压缩 js
var rename = require(‘gulp-rename‘); // 重命名
var cleanCss = require(‘gulp-clean-css‘); // 压缩 css
var htmlMin = require(‘gulp-htmlmin‘);  //压缩 html
var livereload = require(‘gulp-livereload‘);//自动编译
var connect = require("gulp-connect"); //热加载 

// 只压缩js
gulp.task(‘js‘,function(){
    return gulp.src(‘src/js/*.js‘).pipe(uglify())
    .pipe(gulp.dest(‘dist/js‘))
})
// 压缩 合并 js
gulp.task(‘js-concat‘,function(){
    return gulp.src(‘src/js/*.js‘)
    .pipe(concat(‘c.js‘))
    .pipe(gulp.dest(‘dist/js‘))
    .pipe(uglify())
    .pipe(rename(‘c.min.js‘))
    .pipe(gulp.dest(‘dist/js‘))
    .pipe(livereload())
    .pipe(connect.reload());
})

// 压缩 合并 css
gulp.task(‘css-concat‘,function(){
    return gulp.src(‘src/css/*.css‘)
    .pipe(concat(‘index.css‘))
    .pipe(gulp.dest(‘dist/css‘))
    .pipe(cleanCss())
    .pipe(rename(‘index.min.css‘))
    .pipe(gulp.dest(‘dist/css‘))
    .pipe(livereload())
    .pipe(connect.reload());
})
// 压缩 html
gulp.task(‘html‘,function(){
    return gulp.src(‘src/index.html‘)
            .pipe(htmlMin({collapseWhitespace:true}))
            .pipe(gulp.dest(‘dist‘))
            .pipe(livereload())
            .pipe(connect.reload());
})
// 开发时自动构建(半自动)
gulp.task(‘watch‘, [‘default‘], function() {
    // 开启监听
    livereload.listen();
    // 监听相应文件变化,启动相应任务
    gulp.watch(‘src/js/*.js‘, [‘js-concat‘]);
    gulp.watch(‘src/css/*.css‘, [‘css-concat‘]);
    gulp.watch(‘src/index.html‘, [‘html‘]);
});

// 开发时自动构建(全自动,热加载)
gulp.task("server", [‘default‘],function(){//配置热更新服务器
	connect.server({
		root: "dist",
		livereload: true,
		port: 8090
    })
    // 监听相应文件变化,启动相应任务
    gulp.watch(‘src/js/*.js‘, [‘js-concat‘]);
    gulp.watch(‘src/css/*.css‘, [‘css-concat‘]);
    gulp.watch(‘src/index.html‘, [‘html‘]);
})

// 构建
gulp.task(‘default‘,[‘js-concat‘,‘css-concat‘,‘html‘],function(){
    console.log(‘构建完毕ok‘);
});

  

构建时执行:gulp 命令即可

开发时执行:gulp server

 

以上是关于gulp 构建 demo的主要内容,如果未能解决你的问题,请参考以下文章

如何使用Gulp构建TypeScript

新手 gulp+ seajs 小demo

使用gulp实现前端自动化

ES6 - gulp 构建运行环境 - 最详细篇章

ES6 - gulp 构建运行环境 - 最详细篇章

使用ES6+Vue+webpack+gulp构建新一代Web应用