前提:已经安装有安装了node 和npm 环境
安装gulp
假设已经安装了node 和npm (淘宝的cnpm很适合国内使用)。
1、首页全局安装gulp。
1 npm install --global gulp
2、其次局部安装gulp。(注:局部安装是安装到你项目的根目录,这是很多教程没有清晰表明)
npm install gulp --save-dev
3、在项目根目录下创建一个名为 gulpfile.js
的文件

// 引入 gulp及组件 var gulp = require('gulp'); gulp.task('default',function(){ gulp.start('minify'); }); //JS处理 gulp.task("minify",function(){ ... ... })
4、运行gulp。(默认的名为 default 的任务(task)将会被运行,想要单独执行特定的任务(task),请输入 gulp <task> <othertask>)
gulp
5、安装压缩组件 gulp-uglify
npm install gulp-uglify --save-dev
在上述 gulpfile.js
的文件里,写入:
var gulp = require('gulp'); var uglify = require('gulp-uglify'); gulp.task('default',function(){ gulp.start('minify'); }); //JS处理 gulp.task("minify",function(){ gulp.src(['./static/before/*.js']) .pipe(uglify()) .pipe(gulp.dest('./dest/after')) })
运行gulp:
gulp
压缩AngularJS代码的时候,需要添加 ng-annotate 插件:
var gulp = require('gulp'); var ngAnnotate = require('gulp-ng-annotate'); var uglify = require('gulp-uglify'); var ngmin = require('gulp-ngmin'); gulp.task('default',function(){ gulp.start('minify'); }); //JS处理 gulp.task("minify",function(){ gulp.src(['./static/before/*.js']) .pipe(ngAnnotate()) .pipe(ngmin({dynamic: false})) .pipe(uglify()) .pipe(gulp.dest('./dest/after')) })
还有package.json中需要添加相应的:(即运行:npm install --save-dev gulp-ng-annotate 和 npm install --save-dev gulp-ngmin)
{ "name": "application-name", "version": "0.0.1", "devDependencies": { "babel-preset-env": "^1.6.1", "gulp": "^3.9.1", "gulp-babel": "^7.0.0", "gulp-clean": "^0.4.0", "gulp-concat": "^2.6.1", "gulp-jshint": "^2.1.0", "gulp-minify-css": "^1.2.4", "gulp-ng-annotate": "^2.1.0", "gulp-ngmin": "^0.3.0", "gulp-notify": "^3.1.0", "gulp-rename": "^1.2.2", "gulp-uglify": "^3.0.0" } }
合并和压缩JS、CSS文件
压缩JS,CSS文件需要引用如下组件:
gulp-minify-css: 压缩css
gulp-jshint: 检查js
gulp-uglify: 压缩js
gulp-concat: 合并文件
gulp-rename: 重命名文件
gulp-clean: 清空文件夹
gulp-notify:提示
【关于 gulp中报错 Task 'default' is not in your gulpfile 的解决方式】
在末尾加上一个default任务就可以解决,即在gulpfile,js中添加default方法:
gulp.task('default',function(){ gulp.start('minify');});
来源:https://www.cnblogs.com/miny-simp/p/8269127.html