gulp使用分享

gulpjs使用分享


    gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简单,学习起来很容易,而且gulpjs使用的是nodejs中stream来读取和操作数据,其速度更快。如果你还没有使用过前端构建工具,那就尝试一下gulp吧。

gulp可以用来干什么

    首先来了解一下,gulp可以搭建一个web服务器,当html,js,css等文件发生改变时,gulp会把他们加入到流中,使页面进行刷新,如果你有两个显示器,一个用来写代码,写完保存的时候,另外一个显示器会直接显示你修改之后的代码,不用再切换一下浏览器点击F5来进行刷新。
    也可以用来压缩代码,添加版本号等你想要做的。

gulp流为何流

    gulp是基于流进行操作的,整个插件都是通过pipe()函数来赋予。gulp插件每次读取和返回都是一个object mode流,使用gulp.src()读取文件时,就会转换成viny File的格式。插件读入viny File objects,然后在输出viny File objects。一般我们叫它transform stream。

gulp安装

1.全局安装gulp

$ npm install --global gulp

2.作为项目的开发依赖(devDependencies)安装

$ npm install --save-dev gulp

开始使用gulp使用

1.建立gulpfile.js文件

var gulp = require('gulp');
gulp.task('default',function(){
    console.log('hello world');
});

2.此时我们的结构是这样的

├── gulpfile.js
├── node_modules
│ └── gulp
└── package.json

3.我们可以根据自己的需求来改变一下结构,下面是我的结构

├── gulpfile.js
├── newshop
│ └── html
│ └── js
│ └── images
│ └── css
│ └── less
├── node_modules
│ └── gulp
└── package.json

4.我们可以在gulpfile.js中编写一下最常用的工具

var gulp = require('gulp');
var changed = require('gulp-changed'); //监视文件是否有改变
var browserSync = require("browser-sync").create(); //静态服务器启动 
var reload      = browserSync.reload;  // 控制刷新时机
var less = require("gulp-less") ; // 编译less
var autoprefixer = require("gulp-autoprefixer");
// 配置静态服务器 PC
gulp.task('default', function() {
    browserSync.init({
        files: "/newshop/**/*.*", //监听整个项目
        browser: ["C:\\Program Files(x86)\\Google\\Chrome\\Application\\chrome.exe"],//浏览器位置
        server: {
            baseDir: "./",
            index: 'newshop/html/zwymall.html'//项目每次打开时进入的主页
        },
        port:4009//开启的端口
    });
    //监听
    gulp.watch('./newshop/html/*.html').on("change",reload) ;//监听html文件夹下面的html文件,有更新时刷新页面
    gulp.watch('./newshop/less/*.less',['pcLess']);//监听less文件夹下面的less文件,有更新时执行‘pcless’方法,下文中会列出这个方法
    gulp.watch('./newshop/css/*.css').on("change",reload) ;//监听css文件夹下面的css文件,有更新时刷新页面
    gulp.watch('./newshop/images/**/*.{jpg,png}').on("change",reload); //监听images文件夹下面的图片文件,有更新时刷新页面  
    gulp.watch('./newshop/js/*.js').on("change",reload) ;//监听js文件夹下面的js文件,有更新时刷新页面  
});

//这里面会用到把less编译为css的方法,需要单独编写

//编译less
gulp.task("pcLess",function(){
    return  gulp.src("./newshop/css/*.less")//less文件位置
        .pipe(less())//执行less方法
        .pipe(autoprefixer('last 5 version'))//将less编写成css
        .pipe(gulp.dest("./newshop/css"))//生成到css文件夹下面
        .pipe(reload({stream:true}));
});

这个是最简单的gulp使用,其中包括了使浏览器刷新,和编译less,以后会继续更新,希望可以带给大家方便。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值