gulp 在 angular 項目中的使用


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM