美文网首页
前端开发自动化之gulp

前端开发自动化之gulp

作者: 我怎么可能不是我 | 来源:发表于2017-09-02 23:02 被阅读0次

说明:该内容从我的博客转移过来(http://www.cnblogs.com/izgl/p/6433105.html

前端开发自动化之gulp


在这里我们将用gulp来实现前端开发自动化,考虑到我们永远屹立的万里长城我们使用cnpm,同时本文内容以本人另一篇文章(http://www.cnblogs.com/izgl/p/6433105.html)为前提,请自行参考
  在工程目录下打开cmd

       1.cnpm install gulp -g --save-dev     
       2.cnpm install gulp --save-dev    
       2.gulp -v  检测gulp有没有安装好    
       3.到package.json中观察 "devDependencies": {"gulp": "^3.9.1"}  这个代码有,代表配置成功    
       4. 到code下 建立一个gulpfile.js 文件    
       5. 再建立两个文件  分别命名为src 和 distribution    
       6  到src文件夹下 建立 index.html    
      7. 将src文件夹下的  index.html 复制到  distribution

环境的搭建需要安装以下功能插件以及安装命令行代码
  1.压缩css

       cnpm i gulp-cssnano --save-v

2.压缩js

    cnpm i gulp-cancat --save-v

3.压缩html

    cnpm i gulp-htmlmin --save-v

4.混淆js

     cnpm i gulp-uglify --save-v

5.浏览器同步测试

  //先安装 cnpm install -g browser-sync cnpm i gulp-uglify --save-v //到src文件夹下 建立 index.html

6.实现浏览器自动同步需要如下js代码(位于gulpfile.js)

//将index.htmlcopy到distribution
var gulp = require('gulp');
gulp.task('copy', function() {
// 将你的默认的任务代码放在这
    gulp.src('src/index.html')
        .pipe(gulp.dest('distribution'))
        .pipe(browserSync.reload({
            stream:true
        }));
    gulp.src('src/css/*.css')
        .pipe(gulp.dest('distribution/css'))//把src/css里面css文件copy到distribution/css
    });

var gulp = require('gulp');
gulp.task('copyCss', function() {
// 将你的默认的任务代码放在这
    gulp.src('src/css/*.css')
        .pipe(gulp.dest('distribution/css'))//把src/css里面css文件copy到distribution/css
        .pipe(browserSync.reload({
        stream:true
    }));
});


//less转换成css 并且压缩
var less = require('gulp-less');
var cssnano = require('gulp-cssnano');
gulp.task('less',function () {
    return gulp.src('src/style/*.less')
        .pipe(less()) //less转换成css
        .pipe(cssnano()) //压缩css
        .pipe(gulp.dest('distribution/css')) //把css文件copy到distribution/css
        .pipe(gulp.dest('src/css'))//把css文件copy到src/css
        .pipe(browserSync.reload({
            stream:true
        }));
});


//压缩js并且混淆js
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
gulp.task('concat', function() {
    return gulp.src('src/js/*.js')
        .pipe(concat('all.js')) //压缩到目标文件
        .pipe(uglify())//混淆js
        .pipe(gulp.dest('distribution/js')) //把文件copy到distribution/js
        .pipe(browserSync.reload({
            stream:true
        }))
});


//压缩HTML
var htmlmin = require('gulp-htmlmin');
gulp.task('minify', function() {
    return gulp.src('src/*.html')
        .pipe(htmlmin({collapseWhitespace: true}))
        .pipe(htmlmin({preserveLineBreaks: true}))
        .pipe(htmlmin({processConditionalComments: true}))
        .pipe(htmlmin({removeAttributeQuotes: true}))
        .pipe(htmlmin({removeComments: true}))
        .pipe(htmlmin({removeEmptyElements: true}))
        .pipe(htmlmin({removeScriptTypeAttributes: true}))
        .pipe(htmlmin({removeStyleLinkTypeAttributes: true}))
        .pipe(htmlmin({removeAttributeQuotes: true}))
        .pipe(gulp.dest('distribution'))
        .pipe(browserSync.reload({
        stream:true
    }))
});


//自动监听文件内容变化,实现开发流自动化
// gulp.task('auto',function () {
//     gulp.watch('src/css/*.css',['less']);
//     gulp.watch('src/js/*.js',['concat']);
//     gulp.watch('src/style/*.less',['less']);
//     gulp.watch('src/index.html',['minify']);
// });



// 代替上面“自动监听文件内容变化,实现开发流自动化”
var browserSync = require('browser-sync').create();
// Static server
gulp.task('serve', function() {
    browserSync.init({
        server: {
            baseDir: "./distribution"
        }
    });
    gulp.watch('src/css/*.css',['less']);
    gulp.watch('src/js/*.js',['concat']);
    gulp.watch('src/style/*.less',['less']);
    gulp.watch('src/css/*.css',['copyCss']);
    gulp.watch('src/index.html',['minify']);
});

7.cmd运行gulp.serve

相关文章

  • gulp 用法大全

    gulp 是基于 node 实现 Web 前端自动化开发的工具,利用它能够极大的提高开发效率。在 Web 前端开发...

  • 《Web前端自动化构建:Gulp、Bower和Yeoman开发指

    下载地址:《Web前端自动化构建:Gulp、Bower和Yeoman开发指南》.pdf

  • gulp 笔记 要点概况

    gulp 是基于 node 实现 Web 前端自动化开发的工具。 gulp 还可以做很多事,例如: 压缩CSS 压...

  • 新手Gulp的安装和使用

    1.gulp是什么? Gulp是基于node的一个自动化构建工具,开发者可以使用它构建自动化工作流程(前端集成开发...

  • 新手Gulp的安装和使用

    1.gulp是什么? Gulp是基于node的一个自动化构建工具,开发者可以使用它构建自动化工作流程(前端集成开发...

  • gulp前端自动化开发的工具

    gulp 是基于 node 实现 Web 前端自动化开发的工具,利用它能够极大的提高开发效率。 在 Web 前端开...

  • gulp

    gulp解释 GULP 是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器。GULP 是 基 于 Nod...

  • gulp项目构建---看一遍就会了

    参考链接:gulp菜鸟教程npm官方网站gulp项目地址前端自动化Gulp工具常用插件 项目构建 多个开发者共同开...

  • 『前端工程化』gulp(gulp3 && gul

    Gulp 什么是Gulp Gulp是基于Node.js的构建工具,我们使用它来集成前端开发环境,来构建自动化工作流...

  • 【前端工具】gulp构建工具的基本使用

    gulp是什么? gulp是前端开发中经常使用的自动化构建工具。自动化构建又是什么? 简单来说,一个完整的项目需要...

网友评论

      本文标题:前端开发自动化之gulp

      本文链接:https://www.haomeiwen.com/subject/vcqdjxtx.html