安装Node.js
直接下载,安装
npm
- 安装
较新版本Node自带,基本不用自己装 - 初始化
npm init
之后一路next - 安装依赖
npm install --production
安装package.json里已经声明了依赖(只安装dependencies)npm install
安装package.json里已经声明了依赖(包括:devDependencies和dependencies)
gulp
- 全局安装gulp(‘-g‘:全局安装)
npm install gulp -g
- 下载要用到的插件(‘-g‘:全局安装)
npm install gulp-minify-css gulp-jshint gulp-concat gulp-uglify gulp-imagemin gulp-notify gulp-livereload gulp-rename -g
- 添加一个gulp的依赖
npm install gulp --save-dev
项目依赖分两种,一个就是普通的项目依赖比如bootstrap(--save),还用一种只是开发阶段需要用的,这种属于开发依赖比如gulp,开发依赖最终记录在devDependencies节点里面(--save-dev)
压缩css(gulp-minify-css)
js代码校验(gulp-jshint)
合并js文件(gulp-concat)
压缩js代码(gulp-uglify)
压缩图片(gulp-imagemin)
文件重命名 (gulp-rename)
自动刷新页面(gulp-livereload)
更改提醒(gulp-notify)
合并js顺序(gulp-order)
- 构建gulpfile.js
在项目的根目录,新建一个gulpfile.js的文件,这个是gulp的主执行文件,且文件名是固定的,不能修改,gulp命令执行的时候,会去找这个文件。 - 执行gulp
gulp
输入gulp即可
gulpfile.js:
//引入插件
var gulp = require(‘gulp‘),
// minifycss = require(‘gulp-minify-css‘),
uglify = require(‘gulp-uglify‘), //压缩js代码
rename = require(‘gulp-rename‘), //文件重命名
concat = require(‘gulp-concat‘), //合并js文件
notify = require(‘gulp-notify‘), //更改提醒
livereload = require(‘gulp-livereload‘); //自动刷新页面
//js代码校验、合并和压缩(类似jquery的链式操作)
gulp.task(‘scripts‘, function() {
return gulp.src(‘src/**/*.js‘) //源文件
.pipe(concat(‘empty_dimension.js‘)) //合并js文件,empty_dimension.js为合并的文件名称
.pipe(gulp.dest(‘dist‘)) //合并后文件存放位置
.pipe(rename({
suffix: ‘.min‘
}))
.pipe(uglify()) //执行压缩任务
.pipe(gulp.dest(‘dist‘)) //压缩后文件存放位置
.pipe(notify({ //操作结束后提示
message: ‘Scripts task complete‘
}));
});
// 默认任务,这里完全可以是多个任务,比如压缩CSS,压缩图片,压缩js等
gulp.task(‘default‘,[‘watch‘], function() {
gulp.start(‘scripts‘);
});
// 监听
gulp.task(‘watch‘, function() {
// 监听 .js文件改动,一旦改动就会自动压缩合并
gulp.watch(‘src/**/*.js‘, [‘scripts‘]);
// Create LiveReload server(用来自动刷新浏览器)
livereload.listen();
// Watch any files in dist/, reload on change
gulp.watch([‘dist/**‘]).on(‘change‘, livereload.changed);
});