博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小白初试gulp(一)
阅读量:6071 次
发布时间:2019-06-20

本文共 2596 字,大约阅读时间需要 8 分钟。

基于gulp4

1安装

首先在空项目中建立package.json

$ npm init 复制代码

安装gulp

$ npm install --global gulp    //全局安装$ npm install --save-dev gulp  //作为项目的开发依赖复制代码

安装gulp插件

$ npm install gulp-rename --save-dev //文件重命名$ npm install gulp-uglify --save-dev //js压缩$ npm install gulp-minify-css --save-dev //css压缩$ npm install gulp-concat --save-dev //文件合并$ npm install gulp-connect --save-dev //启动web服务$ npm install gulp-load-plugins  --save-dev//使用插件管理自动处理package.json中的插件 $ npm install gulp-order  --save-dev//控制处理的文件顺序复制代码

2配置gulpfile.js

在根目录新建gulpfile.js文件并写入

var gulp = require('gulp');gulp.task('default', function() {  // 将你的默认的任务代码放在这});复制代码

gulp提供的方法

1.gulp.task 创建一个任务。如上 在命令行执行 gulp default ,将会执行function中的代码。
2.gulp.src 获得需要处理的文件,多个文件以数组方式
3.gulp.dest 处理完成文件写入目录
4.gulp.series 顺序运行任务序列
5.gulp.parallel 并行运行任务序列

流处理方法

1.pipe将流传递下去进行处理

gulpfile.js完整代码

var gulp = require('gulp');//var rename = require('gulp-rename');//重命名//var uglify=require('gulp-uglify');//js压缩//var minifyCss = require("gulp-minify-css");//压缩CSS//var jshint = require("gulp-jshint");//js检查//var concat = require("gulp-concat");//文件合并var plugins = require('gulp-load-plugins')();//之后使用 plugins.rename 相当于 rename = require('gulp-rename');//--minify-css 改为驼峰minifyCss//plugins.minifyCss()gulp.task('commoncss',function(){    return gulp.src(['app/lib/css/*.css','app/css/mystyle.css'])//传入多个不同路径    .pipe(plugins.order([//处理文件排序        'reset.css',        '*.css',        'mystyle.css'    ]))    .pipe(plugins.minifyCss())//css压缩    .pipe(plugins.concat('common.min.css'))//合并到 common.min.css 中    .pipe(gulp.dest('app/dist/css'))})gulp.task('commonjs', function() {    return gulp.src(['app/lib/js/*.js','app/js/mymain.js'])//传入多个不同路径    .pipe(plugins.order([//处理文件排序        'jquery.min.js',        '*.js',        'mymain.js'    ]))   .pipe(plugins.rename({suffix:'.min'})) //重命名增加.min后缀   .pipe(plugins.uglify()) //js 压缩   .pipe(plugins.concat('common.min.js'))//合并到 common.min.js 中   .pipe(gulp.dest('app/dist/js'))  //输出到 这个目录  })gulp.task('myjs',function(){    return gulp.src('app/js/mymain.js')    .pipe(plugins.uglify())    .pipe(plugins.rename({suffix:'.min'}))     .pipe(gulp.dest('app/dist/js'))})gulp.task("mycss",function(){    return gulp.src('app/css/mystyle.css')    .pipe(plugins.rename({suffix:'.min'}))    .pipe(plugins.minifyCss())    .pipe(gulp.dest('app/dist/css'))})gulp.task('defaultA',gulp.series('commoncss','commonjs'));gulp.task('defaultB',gulp.parallel('mycss','myjs'));gulp.task('webserver', function() {    plugins.connect.server({        root: 'app',//项目目录        port: 8000,        livereload: true    });});复制代码

转载地址:http://usbgx.baihongyu.com/

你可能感兴趣的文章
成都动车段134组动车全面“体检”迎接春运
查看>>
韩国流行家中饮酒 2018年每家每月平均饮酒近6次
查看>>
隐藏黑钻数,修改前十榜单,网易星球给所有相信区块链的人一巴掌
查看>>
通过一个案例理解 JWT
查看>>
独家 | 日本机器学习领军人杉山将:为什么说弱监督学习是未来的热门?
查看>>
【火炉炼AI】机器学习020-使用K-means算法对数据进行聚类分析
查看>>
Python记一次自动脚本历程
查看>>
MVP+Kotlin源码体验
查看>>
makefile--伪目标语法与编程实例
查看>>
看完这个你还不会 插入排序 么
查看>>
Android-压缩大图到容量超小的图片
查看>>
聊聊springboot的HeapDumpWebEndpoint
查看>>
Flux OOM实例
查看>>
Jenkins进阶系列之——01使用email-ext替换Jenkins的默认邮件通知
查看>>
从零搭建自己的SpringBoot后台框架(十一)
查看>>
基本排序算法
查看>>
ES6走走看看—由块级作用域引出的一场变革
查看>>
百度学术改版与 CPU 100% 有关系么?
查看>>
监听停止滚动
查看>>
RxRetrofit - 终极封装 - 深入浅出 & 扩展 String
查看>>