博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
gulp 使用入门
阅读量:6367 次
发布时间:2019-06-23

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

什么是gulp?

用自动化构建工具增强你的工作流程!

Gulp 是基于node.js的一个前端自动化构建工具,开发者可以使用它构建自动化工作流程(前端集成开发环境)。
使用gulp你可以简化工作量,让你把重点放在功能的开发上,从而提高你的开发效率和工作质量。
例如:你可以用gulp可以网页自动刷新,和MVVM开发模式很相似。你也可以使用gulp对sass进行预处理、代码检测、图片优化压缩、只需要一个简单的指令就能全部完成。

全局安装 gulp

$ npm install --global gulp

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

$ npm install --save-dev gulp

在项目根目录下创建一个名为 gulpfile.js 的文件:

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

运行 gulp:

$ gulp

默认的名为 default 的任务(task)将会被运行,在这里,这个任务并未做任何事情。

想要单独执行特定的任务(task),请输入gulp <task> <othertask>

gulpfile.js示例

var gulp = require('gulp')    cssmin = require('gulp-minify-css')             //css压缩    uglify = require('gulp-uglify')               //js压缩    javascriptObfuscator = require('gulp-javascript-obfuscator') // js混淆    imagemin = require('gulp-imagemin')            //图片的压缩    base64 = require('gulp-base64')                //- 把小图片转成base64字符串    htmlmin = require('gulp-htmlmin')              //html的压缩    babel = require('gulp-babel')    rename = require("gulp-rename") //压缩  css文件   和base64 和文件名加md5后缀gulp.task('testCssmin', function () {    gulp.src('original/css/*.css')        .pipe(base64())        // .pipe(rev())               //文件名加md5后缀        .pipe(cssmin())        // .pipe(rev.manifest())         //rev-mainfest.json文件,里面是压缩文件的信息        .pipe(gulp.dest('dist/css'));}); // 压缩 js 文件gulp.task('script', function() {    // 1. 找到文件    gulp.src('original/js/*.js')        .pipe(babel())    // 2. 压缩文件        .pipe(uglify())    // 3. 混淆js        .pipe(javascriptObfuscator({          compact:true,          selfDefending:true        }))    // 4. 都添加.min.js后缀        .pipe(rename({suffix: '.min'}))    // 5. 另存压缩后的文件        .pipe(gulp.dest('dist/js/'))})//压缩  img文件gulp.task('testImagemin', function () {    gulp.src('original/images/common/*.{png,jpg,gif,ico,svg}')        .pipe(imagemin({            optimizationLevel: 5, //类型:Number  默认:3  取值范围:0-7(优化等级)            progressive: true, //类型:Boolean 默认:false 无损压缩jpg图片            interlaced: true, //类型:Boolean 默认:false 隔行扫描gif进行渲染            multipass: true //类型:Boolean 默认:false 多次优化svg直到完全优化        }))        .pipe(gulp.dest('dist/images/common'));});//压缩html文件gulp.task('testHtmlmin', function () {    var options = {        removeComments: true,//清除HTML注释        collapseWhitespace: true,//压缩HTML        collapseBooleanAttributes: true,//省略布尔属性的值  ==>         removeEmptyAttributes: true,//删除所有空格作属性值  ==>         removeScriptTypeAttributes: true,//删除

package示例

{  "name": "test",  "version": "0.0.1",  "description": "",  "main": "gulpfile.js",  "scripts": {    "test": "echo \"Error: no test specified\" && exit 1"  },  "author": "",  "license": "ISC",  "devDependencies": {    "@babel/core": "^7.2.2",    "babel-core": "^6.26.3",    "babel-preset-env": "^1.7.0",    "gulp": "^3.9.1",    "gulp-babel": "^8.0.0",    "gulp-base64": "^0.1.2",    "gulp-concat": "^2.6.1",    "gulp-htmlmin": "^4.0.0",    "gulp-imagemin": "^4.1.0",    "gulp-javascript-obfuscator": "^1.1.5",    "gulp-livereload": "^3.8.1",    "gulp-minify-css": "^1.2.4",    "gulp-processhtml": "^1.2.0",    "gulp-rev": "^8.1.1",    "gulp-rev-collector": "^1.2.4",    "gulp-uglify": "^3.0.0"  },  "dependencies": {    "gulp-rename": "^1.4.0"  }}

转载于:https://www.cnblogs.com/liuyishi/p/10270074.html

你可能感兴趣的文章
XXL-JOB初体验-ORACLE版
查看>>
沉思录:别人的棺材
查看>>
jersey + spring + mybatis + redis项目搭建
查看>>
PAT 1006 部分正确_另一种解法
查看>>
在Keil环境下使用JLink实现printf输出重定向至debug窗口
查看>>
JFreeChart生成3D饼图
查看>>
postgres的\d命令不显示全部的用户表
查看>>
poj 3468 A Simple Problem with Integers
查看>>
OOA/OOD/OOP细讲
查看>>
Tomcat 系统架构与设计模式_ 设计模式分析
查看>>
本地串口TCP/IP 映射到远端串口
查看>>
锁机制探究
查看>>
硬盘直接引导启动Manjaro Linux iso
查看>>
CodeSmith代码生成工具介绍
查看>>
几个常用且免费的接口
查看>>
jQuery文件上传插件 Uploadify更改错误提示的弹出框
查看>>
RHEL6下Apache与Tomcat整合
查看>>
Heartbeat+DRBD+MFS高可用
查看>>
要感谢那些曾经慢待你的人
查看>>
常见的global cache等待事件
查看>>