一、安装步骤
1.首先确定是否安装了node.js,如果未安装,请先安装node.js;
2.确定是否安装了包管理工具npm,如未安装请安装:npm install npm -g;
3.安装gulp: npm install gulp --save-dev;(至于为什么是--save-dev,因为我们只是在开发环境中会用到,生产发布是用不到它的)
npm install gulp --save-dev;
4.安装用于html、css、js代码压缩常用的插件,分别为:gulp-htmlmin、gulp-cssnano、gulp-uglify;
npm install --save-dev gulp-htmlmin;
npm install --save-dev gulp-cssnano;
npm install --save-dev gulp-uglify;
5.在根目录新建文件 gulpfile.js ,这个文件是使用gulp压缩的配置文件,相关配置如下;
'use strict';
var gulp = require('gulp');
//压缩html
var htmlmin = require('gulp-htmlmin');
gulp.task('html', function(){
gulp.src(['./src/app/*.html'])
.pipe(htmlmin({
collapseWhitespace: true,//压缩HTML
removeComments: true,//清除HTML注释
removeScriptTypeAttributes: true,//删除<script>的type="text/javascript"
removeStyleLinkTypeAttributes: true,//删除<link>的type="text/css"
minifyJS: true,//压缩页面JS
minifyCSS: true//压缩页面CSS
}))
.pipe(gulp.dest('dist/src/app'));
});
//压缩css
var cssnano = require('gulp-cssnano');
gulp.task('style', function(){
gulp.src(['./css/*.css'])
.pipe(cssnano())
.pipe(gulp.dest('dist/css'));
});
//压缩js
var uglify = require('gulp-uglify');
gulp.task('script', function(){
gulp.src(['./src/static/*.js'])
.pipe(uglify({
mangle: false// 跳过函数名,使其不被压缩,函数名也压缩可改为true
}))
.pipe(gulp.dest('dist/src/static'));
});
//同步代码变化
gulp.task('dist', function(){
gulp.watch(['./src/app/*.html'], ['html']);
gulp.watch(['./css/*.css'], ['style']);
gulp.watch(['./src/static/*.js'], ['script']);
});
gulp.task("default", ["html","style","script","dist"]);
6.初始化得到文件package.json:npm init ;(简单点一路回车即可)
7.一切妥当,命令行执行gulp,等待完成即可。
注:(1).这里的配置进行了适当简写,如果项目不是新建立的,而是在项目原有基础上增加页面,为了提升压缩效率可以不匹配所有的html、css、js文件,只配置你新增的文件即可,如下例子:
//压缩html
var htmlmin = require('gulp-htmlmin');
gulp.task('html', function(){
gulp.src(['./src/app/level2HK.html','./src/app/index.html'])
.pipe(htmlmin({
collapseWhitespace: true,//压缩HTML
removeComments: true,//清除HTML注释
removeScriptTypeAttributes: true,//删除<script>的type="text/javascript"
removeStyleLinkTypeAttributes: true,//删除<link>的type="text/css"
minifyJS: true,//压缩页面JS
minifyCSS: true//压缩页面CSS
}))
.pipe(gulp.dest('dist/src/app'));
});
gulp.src(['路径a','路径b'])中是支持数组形式入参的,当然也可以直接字符串入参 gulp.src('路径a')
gulp.task('scripts', function() {
return gulp.src('./src/static/*.js')
.pipe(concat('main.js')) //合并所有js到main.js
.pipe(gulp.dest('./src/static')) //输出main.js到文件夹
.pipe(rename({suffix: '.min'})) //rename压缩后的文件名
.pipe(uglify()) //压缩
.pipe(gulp.dest('./src/static')); //输出
});
如下对图片的压缩配置:
// 压缩图片 gulp.task('images', function () { gulp.src('./src/images/*.*') .pipe(changed('dist/images', {hasChanged: changed.compareSha1Digest})) .pipe(imageMin({ progressive: true,// 无损压缩JPG图片 svgoPlugins: [{removeViewBox: false}]// 不移除svg的viewbox属性 })) .pipe(gulp.dest('dist/images')) .pipe(browserSync.reload({stream:true})); });
来源:https://www.cnblogs.com/Zhangzhiwei-0/archive/2018/03/08/8526996.html
gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简单,学习起来很容易,而且gulpjs使用的是nodejs中stream来读取和操作数据,其速度更快。如果你还没有使用过前端构建工具,或者觉得gruntjs太难用的话,那就尝试一下gulp吧。
gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器 ,这篇文件整理了一些gulp常用插件
gulp4.0分离了cli和核心部分,所以需要分别安装这两个包,另外对环境要求如下:在项目根目录创建gulpfile.js文件(如果使用ts或者babel,也可用gulpfile.ts、gulpfile.babel.js分别代替
Gulp自动化构建工具可以增强你的工作流程!易于使用、易于学习、构建快速、插件高质!在日常开发中,可以借助Gulp的一些插件完成很多的前端任务。
在文件根目录初始化npm,出现package.json,在根目录下面新建gulpfile.js文件,并配置,运行命令(顺序不要变,先把ES6转化问ES5,然后开始压缩混淆,uglify不支持ES6压缩混淆,会报错)
vinyl 是 gulp 所使用的虚拟的文件格式,在它的自述文件是这么说的:“当提到文件时你首先想到的是什么?肯定是路径和内容吧”,它主要记录的信息有:path:文件路径,contents:文件内容
在网站正式上线前,压缩程式码是必要的过程,因为可以节省空间还能提高网页整体的效能,这里会介绍三压缩程式码的套件,分别是gulp-htmlmin 、gulp-clean-css、gulp-terser。
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!