包含常用功能的 gulpfile.js
来源:互联网 发布:mac口红质地 编辑:程序博客网 时间:2024/05/16 16:57
相关包安装
建议使用cnpm
npm install --save-dev *****
其中 ***** 部分表示所需要的包模块,如 gulpfile 中的 require('gulp-useref') 需要之前进行包安装如下:
npm install --save-dev gulp-useref
源文件需要的包安装命令如下
npm install --save-dev gulp gulp-useref gulp-notify gulp-minify-css gulp-concat gulp-css-spriter npm install --save-dev gulp-clean gulp-cache gulp-imagemin gulp-rename gulp-uglify browser-sync npm i gulp-htmlmin --save-dev npm install jshint gulp-jshint --save-dev
源文件结构
下面是 gulpfile 中默认的源文件结构
—— app —— css // 储存css文件 —— ** —— * .css —— * .css —— images // 储存图片 —— * .png —— * .jpg —— * .gif —— script // 储存js文件 —— ** —— * .js —— * .js —— sprite // 储存要合成雪碧图的文件 —— * .png —— * .jpg —— * .gif —— ** —— *.html —— *.html
命令行命令
gulp clean
清除dist文件夹中的内容
gulp serve
网页热加载
gulp html
更改html中的路径 并 压缩html
需要在html文件里面添加代码形式如下
<!-- build:<type>(alternate search path) <path> <parameters> -->... HTML Markup, list of script / link tags.<!-- endbuild --> 如 <!-- build:css css/combined.css --><link href="css/one.css" rel="stylesheet"><link href="css/two.css" rel="stylesheet"> <!-- endbuild -->
gulp CSS
合并CSS文件
雪碧图合并
注意: 不需要的合并的需在css中添加注释如下
@meta {"spritesheet": {"include": false}}
压缩CSS文件
gulp script
合并 js 文件并进行压缩
gulp imgMin
图片压缩
gulp (default)
压缩并合并源文件 并 输出到 dist 文件夹
源码
var gulp = require('gulp'), useref = require('gulp-useref'), // html 路径替换 notify = require('gulp-notify'), // 提示信息 htmlmin = require('gulp-htmlmin'), // html 压缩 minifyCSS = require('gulp-minify-css'), // css 压缩 concat = require('gulp-concat'), // 文件合并 spriter = require('gulp-css-spriter'), // 雪碧图 clean = require('gulp-clean'), // 清除原有文件 cache = require('gulp-cache'), imagemin = require('gulp-imagemin'), // 图片压缩 // pngcrush = require('imagemin-pngcrush'), rename = require('gulp-rename'), // 文件重命名 uglify = require('gulp-uglify'), // js 压缩 jshint = require('gulp-jshint'), // js 检测 browserSync = require('browser-sync'), // 浏览器刷新 reload = browserSync.reload;// html 相关操作 /* 替换路径 * * 需要在文件里面添加下面的 * <!-- build:<type>(alternate search path) <path> <parameters> --> * ... HTML Markup, list of script / link tags. * <!-- endbuild --> * * 如 * <!-- build:css css/combined.css --> * <link href="css/one.css" rel="stylesheet"> * <link href="css/two.css" rel="stylesheet"> * <!-- endbuild --> * */ gulp.task('clean',function(){ return gulp.src('./dist') .pipe(clean()) .pipe(notify('清除原有文件')) }) gulp.task('html',function(){ return gulp.src('app/**/*.html') .pipe (useref()) .pipe(htmlmin({collapseWhitespace: true})) .pipe(gulp.dest('dist/')) }); // css 相关操作 /* 合并CSS文件 * * 雪碧图合并 * 注意: 不需要的合并的需在css中添加注释如下 * @meta {"spritesheet": {"include": false}} * * 压缩CSS文件 * */ gulp.task('CSS',function(){ return gulp.src('./app/css/**/*.css') .pipe(concat('main.css')) .pipe(notify('css 合并完成')) .pipe(spriter({ // 雪碧图的名称 'spriteSheet' : "./dist/images/sprite_css_img.png", // 原图文件文件储存位置 // 输出的雪碧图位置 'pathToSpriteSheetFromCSS' : '../images/sprite_css_img.png' })) .pipe(notify('spriter 合并完成')) // 压缩 .pipe(minifyCSS()) // 更改css 并写入 .pipe(gulp.dest('./dist/css')) .pipe(notify('css 部分完成')) });// js 相关操作 gulp.task('script',function(){ return gulp.src('./app/script/**/*.js') // .pipe(jshint('.jshintrc')) // .pipe(jshint.reporter('default')) .pipe(concat('main.js')) .pipe(gulp.dest('./dist/script')) .pipe(rename({suffix: '.min'})) .pipe(uglify()) .pipe(gulp.dest('./dist/script')) .pipe(notify('js 部分完成')) });// 图片品质压缩 gulp.task('imgMin',function(){ return gulp.src('./app/images/**/*') .pipe(cache(imagemin({ optimizationLevel: 5, progressive: true, interlaced: true }))) .pipe(gulp.dest('./dist/images/')) .pipe(notify('图片压缩部分完成')) })// 网页热加载 gulp.task('serve',function(){ browserSync({ server : { baseDir : 'app' } }); gulp.watch(['**/*.html','css/**/*.css','scripts/**/*.js'],{cwd: 'app'},reload); });gulp.task('default',['clean'],function(){ gulp.start('html','script','CSS','imgMin');});
阅读全文
0 0
- 包含常用功能的 gulpfile.js
- gulpfile.js常用配置文件
- 我的gulpfile.js
- gulpfile.js的配置
- 项目使用的gulpfile.js
- Gulp的配置文件gulpfile.babel.js
- gulp的gulpfile.js文件配置
- gulp打包的gulpfile.js,自用~~
- 简单gulpfile.js写法
- 基本gulpfile.js
- gulp配置文件gulpfile.js
- gulpfile.js文件内容
- Gulpfile.js 详解
- gulpfile.js 备份
- 常用的js功能
- gulp的gulpfile.js文件配置(2)
- 前端 | 重构 gulpfile.js
- 一些常用的JS功能
- 复习笔记8-27之不同位数机器的各类型长度
- hexo博客的乱码问题
- 重构手法-在对象之间搬移特性
- 欧拉函数与欧拉定理
- IDEA 的使用(快捷键、括号对齐的方式)
- 包含常用功能的 gulpfile.js
- 用NodeJS+Mongodb+Pug开发博客网站
- leetcode 514. Freedom Trail
- 1563: 高精度加法
- Linux中关于用户和组的介绍
- Error:Error converting bytecode to dex
- OpenVPN服务器
- sparkstreaming读取kafka的两种方式
- 三极管:NPN和PNP