自动化构建工具gulp的学习心得

个人理解Gulp是一个构建工具,它的来源是从后端演变而来:

buid code ->构建代码 ->构建工具->计算机能识别的语言

从而前端也开始有这个概念:

buid code ->js *css *jpg(静态资源文件)->合并 ->压缩

 2fe1635d97b6467c9672e6e0eebba9a2.png

当然自动化构建工具不止gulp:

列举:

1,grunt

2,gulp

3,webpack

等等...,话说回来还有些公司依旧用gulp进行开发。

操作:

1,自动化构建都是基于node环境开发,所以要配置链接:

https://github.com/dk-lan/nodejs/tree/master/module/base

2,打开黑屏控制台:window键 + R

3,当你的环境配置好了以后,创建一个gulpfile.js

4,输入

var gulp = require('gulp')

gulp.task('default', function () {

// 将你的默认的任务代码放在这

console.log('666')

})*/

备注:这是在控制台输出gulp默认运行default,一个页面只能有一个

5,gulp Api

1),gulp src(url) 路径匹配

gulp.src('./src/*.js') 匹配 src目录下所有 js 文件

gulp.src('src/**/*.js') 匹配 src 目录下所有目录的所有 js

2),gulp.task(name,fn)

gulp.task(‘you’,funtion(){

Console.log(6666)

});

gulp hello 执行任务 hello

gulp.task('default', fn) 定义一个默认任务 gulp 执行默认任务

3) gulp.task('default',['one','two','three']);(数组)

一个包含任务列表的数组,这些任务会在你当前任务运行之前完成

gulp.task('one', function (cb) {

console.log(666)

})

gulp.task('two', function () {

// 'one' 完成后

console.log(7777)

})

// 一个包含任务列表的数组,这些任务会在你当前任务运行之前完成

gulp.task('default', ['one', 'two'])

*/

4),gulp.watch(path, fn) 监听路径下文件变化

gulp.watch('js/**/*.js', function(event) { console.log('File ' + event.path + ' was ' + event.type + ', running tasks...'); }); //event.type 发生的变动的类型:added, changed 或者 deleted //event.path 触发了该事件的文件的路径

5),gulp.run()表示要执行的任务。

可能会使用单个参数的形式传递多个任务

gulp.task('end',function(){ gulp.run('task1','task3','task2'); });

注意:任务是尽可能多的并行执行的,并且可能不会按照指定的顺序运行。

6),gulp.dest()方法是用来写文件的,

其语法为gulp.dest(path[,options])

var gulp = require('gulp');

gulp.src('./scr/*.js')  // 获取路径

.pipe(gulp.dest('dist/foo.js')); // 写入并放入文件

7),开启本地服务 gulp-connect

安装 gulp-connect npm install gulp-connect --save-dev

定义任务

var gulp = require('gulp');

var connect = require('gulp-connect');

gulp.task('myServer', function() { connect.server({

root: 'app',//服务启动的根目录

port: 8000,//端口

 livereload: true//为true时gulp会自动检测文件的变化然后自动进行源码构建

}); });

8),压缩 js gulp-uglify

安装 gulp-uglify  npm install gulp-uglify --save-dev

定义任务

var gulp = require('gulp');

var uglisy = require('gulp-uglify');

gulp.task('jscompress', function () {

// 1. 找到文件

// return gulp.src('./Gulp/**/*.js')

// 2. 压缩文件

.pipe(uglify())

// 3. 另存压缩后的文件

.pipe(gulp.dest('mins'))

})

监听

1a32862d6f5843919fc6d79d059f150d.png 

设置默认任务(即命令行中输入gulp执行的任务)

gulp.task('default', ['name','name']);

9),压缩CSS gulp-clean-css

安装模块 npm install gulp-clean-css --save-dev

操作与->js压缩一样

10),重命名文件 gulp-rename

安装模块 npm install gulp-rename --save-dev

2c65528839ee493bb12af496e1345b0e.png

11),编译 sass

安装模块 npm install gulp-sass --save-dev

var gulp = require('gulp'); var sass = require('gulp-sass'); gulp.task('sass111', function(){ return gulp.src('app/scss/index.scss') .pipe(sass()) .pipe(gulp.dest('app/css')) });

来源:千锋HTML5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值