zoukankan      html  css  js  c++  java
  • gulp学习笔记3

    gulp系列学习笔记:

    1、gulp学习笔记1

    2、gulp学习笔记2

    3、gulp学习笔记3

    4、gulp学习笔记4

    1、编译sass

    Sass 是一种 CSS 的开发工具,提供了许多便利的写法,大大节省了开发者的时间,使得 CSS 的开发,变得简单和可维护。

    安装相应的模块:

    npm install gulp-ruby-sass

    gulpfile.js 文件编写如下代码:

    / 获取 gulp
    var gulp = require('gulp')
    // 获取 gulp-ruby-sass 模块
    var sass = require('gulp-ruby-sass')
    
    // 编译sass
    // 在命令行输入 gulp sass 启动此任务
    gulp.task('sass', function() {
        return sass('sass/') 
        .on('error', function (err) {
          console.error('Error!', err.message);
       })
        .pipe(gulp.dest('dist/css'))
    });

    此时在命令行输入:

    gulp sass

    将sass文件夹下的.sass文件编译放到dist/css文件夹下。

    2、检查js代码

    JSHint(http://www.jshint.com/)是一个JavaScript语法和风格检查工具,你可以用它来提醒代码风格相关的问题。

    同样的,我们也需要相应的代码:

    npm install gulp-jshint --save-dev

    然后我们在配置文件编写相对应的代码:

    // 包含gulp
    var gulp = require('gulp'); 
    
    // 包含gulp-jshint插件
    var jshint = require('gulp-jshint');
    
    // jshint 任务建立
    gulp.task('jshint', function() {
      gulp.src('./src/scripts/*.js')
        .pipe(jshint())
        .pipe(jshint.reporter('default'));
    });

    此时在命令行输入:

    gulp jshint

    你会看到如下输出:

    [gulp] Using file D:	estgulpfile.js
    [gulp] Working directory changed to D:	est
    [gulp] Running 'jshint'...
    [gulp] Finished 'jshint' in 8.24 ms
    D:	estsrcscriptslib.js: line 2, col 20, Missing semicolon.
    
    1 error

    这里显示lib.js的文件有个错误。然后你照着修改就可以了。

    3、压缩html

    为了节省流量和提高页面的加载速度,同样的,我们可以对html也进行压缩。

    安装相应的模块:

    npm install gulp-minify-html --save-dev

    gulpfile.js 文件编写如下代码:

    // 包含插件
    var minifyHTML = require('gulp-minify-html');
    
    // minify new or changed HTML pages
    gulp.task('htmlpage', function() {
      gulp.src('./src/*.html')
        .pipe(minifyHTML())
        .pipe(gulp.dest('./dist'));
    });

    此时在命令行输入:

    gulp htmlpage

    将src文件夹下的.html文件编译放到dist文件夹下。

    3、

    4、只编译修改的文件

    在前面的那些任务当中,当你只修改其中一个文件的话,其实所有的文件都会被重新编译一次。当编译的文件比较多的时候,所需要的时间就会大大增加。这时候,我们就要用到一个新的插件 gulp-changed.

    安装插件:

    npm install --save-dev gulp-changed

    这里借用前面的图片压缩来说明,编写代码:

    var changed = require('gulp-changed');
    var imagemin = require('gulp-imagemin');
    
    // 压缩新图片
    gulp.task('imagemin', function() {
      var imgSrc = './src/images/**/*',
          imgDst = './dist/images';
    
      gulp.src(imgSrc)
        //  发现有新图片
        .pipe(changed(imgDst))
        // 压缩
        .pipe(imagemin())
        // 保存
        .pipe(gulp.dest(imgDst));
    });

    此时在命令行输入:

    gulp imagemin

    将src/images文件夹下的图片压缩到dist/images文件夹下。

    文章参考了以下资料:

    1、gulp详细入门教程:  http://www.ydcss.com/archives/18;  

    2、gulp API 文档:  http://www.gulpjs.com.cn/docs/api/;  

    3、gulp 入门指南:  https://github.com/huanshen/gulp-book; 

    4、An Introduction to Gulp.js:  https://www.sitepoint.com/introduction-gulp-js/

  • 相关阅读:
    洛谷P3953 逛公园
    洛谷P1247 取火柴游戏
    洛谷P2024 食物链
    洛谷P2680 运输计划
    hdu 1495 非常可乐(bfs)
    poj3984 迷宫问题(简单的输出路径的bfs)
    Codeforces 729C Road to Cinema(二分)
    Codeforces Technocup 2017
    Codeforces Technocup 2017
    poj 2251 Dungeon Master(bfs)
  • 原文地址:https://www.cnblogs.com/huansky/p/6019351.html
Copyright © 2011-2022 走看看