Angular技术库
  • 简介
  • 研究热点
    • 单页面登录
    • 单页面服务器渲染
  • 项目实战
    • 目录结构
    • 模块开发流程
    • 公共模块编辑
    • UI使用
    • 工具库
      • util模块
      • filter模块
    • 表单验证
  • 整体框架
    • 环境搭建
      • Windows
      • MAC Linux
    • 示例项目
    • 开发调试
      • 编译JS
      • 编译CSS
      • 编译HTML
      • 编译Bower
      • 服务器启动
      • 与后端服务通讯
    • Gulp文档
      • Gulp API
      • 插件列表
      • Gulp构建
    • Gulp文档
    • 示例项目
  • Angular文档
    • 指令
    • 引导
    • 单页面
    • 基于requireJS和angularJS的前端技术架构
    • 数据共享
    • 模块加载
    • 事件循环
  • SASS文档
    • SASS特性
  • ES6文档
    • ECMAScript前导
    • ECMAScript6特性介绍
    • ES6特性筛选
  • JavaScript文档
    • 匿名函数定义
    • Function
      • 原生prototype
      • 自定义prototype
  • RequireJS
  • Node文档
  • 架构师
  • 时间轴
    • 2016-07-13
    • 2016-06-21
    • 2016-06-14
    • 2016-06-07
    • 2016-05-31
Powered by GitBook
On this page
  • 整体目录结构
  • JS构建示例(js.js)
  • CSS构建示例(css.js)
  • 配置文件示例(conf.js)
  • 入口文件(Gulpfile.js)
  1. 整体框架
  2. Gulp文档

Gulp构建

下面演示如何使用Gulp进行项目构建,构建代码已存在于示例项目中。

整体目录结构

—— gulpfile.js
—— /gulp
  —— conf.js     // 构建配置信息
  —— js.js       // JS构建
  —— css.js      // CSS构建

JS构建示例(js.js)

var config = require("./conf");
var path = require("path");
var gulp = require("gulp");
var rimraf = require("rimraf");
var $ = require("gulp-load-plugins")();


gulp.task("js", ["clean:js"], function(){
    gulp.src(config.paths.srcJs)
        .pipe($.babel({
                presets: ['es2015']
            }))
        .pipe($.if(config.system.compressed, $.uglify()))
        .pipe(gulp.dest(config.paths.build));
});


gulp.task("clean:js", function(cb){
    rimraf(config.paths.buildJs, cb);
});


gulp.task("watch:js", function(){
    gulp.watch(config.paths.srcJs, ["js"]);
});


gulp.task("build:js", ["js", "watch:js"]);

CSS构建示例(css.js)

var config = require("./conf");
var path = require("path");
var gulp = require("gulp");
var rimraf = require("rimraf");
var $ = require("gulp-load-plugins")();


gulp.task("css", ["clean:css"], function(){
    var cssFilter = $.filter("**/*.scss");
    gulp.src(config.paths.srcCss)
        .pipe($.sass({ outputStyle: 'expanded'}).on('error', $.sass.logError))
        .pipe($.autoprefixer({
            browsers : ["last 2 version", "Android >= 4.0", "Firefox >= 4.0", "Explorer >= 6"],
            cascade : true}))
        .pipe($.if(config.system.compresses, $.minifyCss()))
        .pipe(gulp.dest(config.paths.build));
});


gulp.task("clean:css", function(cb){
    rimraf(config.paths.buildCss, cb);
});


gulp.task("watch:css", function(){
    gulp.watch(config.paths.srcCss, ["css"]);
})


gulp.task("build:css", ["css", "watch:css"]);

配置文件示例(conf.js)

exports.paths = {
    src : "app"                        // 源文件目录
    ,build : "build"                // 构建目录
    ,srcCss : "app/**/*.scss"        // CSS文件路径
    ,buildCss : "build/**/*.css"    // CSS构建路径
    ,srcJs : "app/**/*.js"            // 源JS文件路径
    ,buildJs : "build/**/*.js"        // JS构建路径
}

exports.system = {
    debug : true,        // 是否是调试状态
    compressed : false    // 是否压缩JS、CSS、HTML
}

入口文件(Gulpfile.js)

'use strict';

var css = require("./gulp/css");
var js = require("./gulp/js")
var gulp = require("gulp");

gulp.task("default", ["build:js", "build:css"]);
Previous插件列表NextGulp文档

Last updated 7 years ago