gulp自动化构建项目(二)——自动化

作者: 墨鸿 | 来源:发表于2016-09-25 21:25 被阅读219次
第一次接触自动化构建我的表情是这样的

我们继续在跟目录下创建src / htmldist /html文件夹,,在src/ html下面创建index.html文件,现在的结构应该是这样的:

myweb
    |----- dist
          |-----html
    |----- node_modules
    |-----src
          |-----html
                |-----index.html

现在在index.html文件中写入<h1>hello world</h1>

实现自动拷贝

接下来编写gulpfile.js文件,这是实现自动化的关键,目的是把src/ html下面的index.html文件拷贝到dist / html

//引入gulp模块
var gulp = require('gulp');
//创建任务,任务名为copy
gulp.task('copy',function(){
    //读取文件
    gulp.src('src/html/index.html')
    //写入文件
    .pipe(gulp.dest('dist/html'));
});

编写完成后,在控制台用gulp copy执行copy任务

执行命令

然后查看dist --> html下面已经存在index.html文件。

创建http服务

下一个任务是创建一个http服务,通过http服务访问dist / html下面的idnex.html。这就需要引入browsersync插件。先用npm安装,

npm install browser-sync --save-dev

安装完成后在gulpfile.js中增加以下代码块:

//引入browser-sync模块并创建一个bs对象
var bs = require('browser-sync').create();
//创建server服务,名为start
gulp.task('start',function(){
    bs.init({
        server:'./dist/html/'
    });
});

完成后在控制台调用此任务

调用http服务

打开浏览器访问localhost:3000(也可能浏览器会自动打开),出现Hello World,按ctrl+c关闭服务,任务完成。

多窗口同步

接下来是一个有趣的事,如果上面编写的index.html足够长,在同时打开多个浏览器窗口浏览的情况下,所有窗口竟然会同步滚动!如果此时有手机和这台电脑处于同一个局域网络的话,手机访问控制台中External提供的URL打开的窗口会和PC上的保持同步!如下图所示效果

多窗口同步展示

实现监听

现在的任务是实现只要src中的源文件index.html有所改动,程序会自动拷贝到dist-->html下面(即执行上面编写的copy任务),并且浏览器自动刷新,实现实时浏览”这里用到了监听事件,继续编写start任务:

//引入browser-sync模块并创建一个bs对象
var bs = require('browser-sync').create();
//创建server服务,名为start
gulp.task('start',function(){
    bs.init({
        server:'./dist/html/'
    });
    gulp.watch('src/html/index.html',['copy']);
    gulp.watch(['src/html/index.html']).on('change',bs.reload);
});

编写完成后在控制台执行start任务,开启http服务。打开多个窗口,发现能实现同步滚动,现在不要关闭浏览器窗口,打开src/html/index.html,修改页面内容,发现多个浏览器窗口实时刷新,展示修改后的结果。

修改实时同步预览

到此,初步的自动化已经实现了,此处实时刷新的效率与电脑配置有关。

相关文章

  • JavaScript学习笔记(三十六)-- GULP

    GULP gulp 是一个项目开发的 自动化打包构建工具 基于 node 环境来运行的 什么是自动化打包构建工具 ...

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

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

  • 1,node.js

    自动化构建工具 gulp webpack grunt gulp--构建项目,压缩合并处理,依赖于 gulpf...

  • 【前端日记-gulp系列-认识gulp】

    一、gulp介绍及用法 1. 介绍 gulp是一个自动化构建工具,可以帮助开发者构建整个项目流程中的自动化部分,比...

  • gulp构建es6项目

    项目构建介绍 ES6 项目构建 基础架构 任务自动化(gulp) 编译工具(babel、webpack) 代码实现...

  • gulp

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

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

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

  • gulp

    1 gulp(自动化构建工具) 自动化构建 自动化构建:优化网站,提升网站性能,提高网站的代码,文件的优化处理 处...

  • Javascript 高级 自动化

    什么是GULP? GULP 是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器;她不仅能 对...

  • Gulp 前端自动化构建工具

    Gulp 是基于 NodeJS 的前端自动化构建工具,在项目开发过程中自动化地完成 html / css / js...

网友评论

    本文标题:gulp自动化构建项目(二)——自动化

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