zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    新一篇: 正则表达式使用详解
    C#預處理指令
    [转]SQL Server 2005 Beta 2 TransactSQL 增强功能
    SQL Server 2005之PIVOT/UNPIVOT行列转换
    爬虫入门到放弃系列01:什么是爬虫
    我的程序员之路01:自学Java篇
    Java入门者:如何写出美观的Java代码?
    JedisCluster使用pipeline操作Redis Cluster最详细从0到1实现过程
    IDEA超神之路:安装、运行HelloWorld以及激活到2099年的第一场雪
    软考系统架构师、信息系统项目管理师、系统分析师、系统规划与管理师和网络规划师资料大汇总
  • 原文地址:https://www.cnblogs.com/sloong/p/5209390.html
Copyright © 2011-2022 走看看