gulp学习(三)-实战

参考

前面两节学习到gulp的基本知识,也知道gulp能够进行压缩,监控,combo等等,这节进行实战。因为gulp有不少插件,因此咱们没必要重复造轮子,只用用好相关插件就能够html

gulp当作web服务器

某些时候咱们会在本地安装Apache或者Nginx当作静态服务器,有了gulp以后就不用了。gulp-connect插件能够实现web服务器功能前端

安装gulp-connect:java

npm install --save-dev gulp-connect

示例:android

'use strict';
    const gulp = require('gulp');
    const connect  = require('gulp-connect');
    gulp.task('server',function(){
        connect.server();
    });
    gulp.task('default',['server']);

执行命令gulp,而后终端会打印日志以下:git

[22:07:20] Using gulpfile ~/WebstormProjects/es6-doc/gulpfile.js
    [22:07:20] Starting 'server'...
    [22:07:20] Finished 'server' after 34 ms
    [22:07:20] Starting 'default'...
    [22:07:20] Finished 'default' after 7.53 μs
    [22:07:20] Server started http://localhost:8080

能够看出已经启动了web服务器。能够经过http://localhost:8080访问。默认是访问gulpfile.js所在目录的index.htmles6

省时的浏览器同步测试工具browsersyncgithub

摘自官网web

rowsersync能让浏览器实时、快速响应您的文件更改(html、js、css、sass、less等)并自动刷新页面。更重要的是 Browsersync能够同时在PC、平板、手机等设备下进项调试。您能够想象一下:“假设您的桌子上有pc、ipad、iphone、android等设备,同时打开了您须要调试的页面,当您使用browsersync后,您的任何一次代码保存,以上的设备都会同时显示您的改动”。不管您是前端仍是后端工程师,使用它将提升您30%的工做效率。

gulp 压缩js css

安装 gulp-uglify:

npm install --save-dev gulp-uglify

示例:

gulp.watch('js/*.js',['uglify_js']);
    gulp.task('uglify_js',function(){
        gulp.src('js/*.js')
            .pipe(uglify())
            .pipe(gulp.dest('build/js'));
    });
    gulp.task('default',['uglify_js']);

上面这段代码能够实现,当js文档下面的js文件内容变化时,会被从新压缩并输出到目的目录

gulp 编译less

安装:

npm install --save-dev gulp-less

示例:

const gulp = require('gulp');
    const less = require('gulp-less');
    // 编译less
    // 在命令行输入 gulp less 启动此任务
    gulp.task('less', function () {
        // 1. 找到 less 文件
        gulp.src('less/**.less')
            // 2. 编译为css
            .pipe(less())
            // 3. 另存文件
            .pipe(gulp.dest('dist/css'))
    });

    // 在命令行使用 gulp auto 启动此任务
    gulp.task('auto', function () {
        // 监听文件修改,当文件被修改则执行 less 任务
        gulp.watch('less/**.less', ['less'])
    })

    // 使用 gulp.task('default') 定义默认任务
    // 在命令行使用 gulp 启动 less 任务和 auto 任务
    gulp.task('default', ['less', 'auto'])

上面代码能够实现less文件变化,编译输出到css文件夹下

另外还能够用gulp来编译sass和压缩图片以及combo文件等等。能够本身去查看

利用gulp构建项目

相关文章
相关标签/搜索