gulp 在 angular 项目中的使用
keyword:gulp,angularjs,ng,ngAnnotate,jshint,gulpfile
最后附完整简洁的ng项目gulpfile.js
准备
全局安装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>。
插件
jshint js代码检查
全局安装jshint
npm install -g jshint
开发依赖devDependencies安装
npm install --save-dev jshint
gulpfile.js中新增task
gulp.task('jshint', function () {
return gulp.src('./www/js/**/*.js')
.pipe(jshint())
.pipe(jshint.reporter('default'));
});
运行
gulp jshint
gulp-ng-annotate 支持ng依赖注入声明方式
Add angularjs dependency injection annotations with ng-annotate
开发依赖devDependencies安装
npm install --save-dev gulp-ng-annotate
使用
gulp.task('build-app-js', function () {
return gulp.src('./www/**/*.js')
.pipe(ngAnnotate({single_quotes: true}))
.pipe(gulp.dest('./www/dist'))
});
附,完整、简单的ng项目gulpfile.js
var gulp = require('gulp');
var ngAnnotate = require('gulp-ng-annotate');
var ngmin = require('gulp-ngmin');
var stripDebug = require('gulp-strip-debug');
var concat = require('gulp-concat');
//var minifyCss = require('gulp-minify-css');//尚不考虑css压缩
var rename = require('gulp-rename');
var uglify = require('gulp-uglify');
var jshint = require('gulp-jshint');
//执行压缩混淆前,先执行jshint
gulp.task('default', ['jshint'], function() {
gulp.start('minifyjs');
});
//压缩,合并 js
gulp.task('minifyjs',function() {
return gulp.src('./www/js/**/*.js') //需要操作的文件
.pipe(concat('main.js')) //合并所有js到main.js
.pipe(gulp.dest('./www/dist')) //输出到文件夹
.pipe(rename({suffix: '.min'})) //rename压缩后的文件名
.pipe(ngAnnotate())
.pipe(ngmin({dynamic: false}))//Pre-minify AngularJS apps with ngmin
.pipe(stripDebug())//除去js代码中的console和debugger输出
.pipe(uglify({outSourceMap: false})) //压缩
.pipe(gulp.dest('./www/dist')); //输出
});
gulp.task('jshint', function () {
return gulp.src('./www/js/**/*.js')
.pipe(jshint())
.pipe(jshint.reporter('default'));
});
开发依赖安装指令:
npm install --save-dev gulp-ng-annotate
npm install --save-dev gulp-ngmin
npm install --save-dev gulp-strip-debug
npm install --save-dev gulp-concat
npm install --save-dev gulp-minify-css
npm install --save-dev gulp-rename
npm install --save-dev gulp-uglify
npm install --save-dev gulp-jshint //需提前把jshint 安装好
[原创],转载请附带原文地址:http://www.cnblogs.com/sloong/p/5209390.html