NODE----gulp 使用

gulp 构建项目

dist/ 经过打包压缩后的文件,一般用于正式环境使用
src/ 源代码,一般用于开发环境

源码构建
安装完成后,(module 项目根目录)执行命令:gulp
即可完成 src 到 dist 目录的构建
源码安装
项目可采用 gulp 构建,gulpfile.js 是任务脚本,package.json 是任务配置文件
step1:确保你的电脑已经安装好了 Node.js
step2: 命令行安装 gulp:npm install gulp -g
step3:切换到 module 项目根目录(即 gulpfile.js 所在目录),命令行安装任务所依赖的包:npm install

配置

/**
 * gulp 构建
 * 文件名:gulpfile.js
 */
var pkg = require('./package.json'),
    inds = pkg.independents,
    gulp = require('gulp'),
    uglify = require('gulp-uglify'),
    minify = require('gulp-minify-css'),
    concat = require('gulp-concat'),
    rename = require('gulp-rename'),
    replace = require('gulp-replace'),
    header = require('gulp-header'),
    del = require('del'),
    gulpif = require('gulp-if'),
    minimist = require('minimist');

// 获取参数
var argv = require('minimist')(process.argv.slice(2), {
    default: {
        ver: 'all'
    }
}),

//注释
    note = [
    '/** <%= pkg.name %>-v<%= pkg.version %> <%= pkg.license %> License By <%= pkg.author %> */\n <%= js %>',
    {pkg: pkg, js: ';'}
],
    
    destDir = './dist', //构建的目标目录

// 任务
task = {
    //压缩 JS
    minjs: function(){
        var src = [
            './src/**/*.js',
            '!./src/config.js',
            '!./src/extend/**/*.js',
        ];
        
        return gulp.src(src).pipe(uglify())
            .pipe(header.apply(null, note))
            .pipe(gulp.dest(destDir));
    },
    
    //压缩 CSS
    mincss: function(){
        var src = [
            './src/*/*.css',
            '!./src/extend/**/*.css',
        ], noteNew = JSON.parse(JSON.stringify(note));
        
        noteNew[1].js = '';
        
        return gulp.src(src).pipe(minify({
            compatibility: 'ie7'
        })).pipe(header.apply(null, noteNew))
            .pipe(gulp.dest(destDir));
    },
    
    //复制文件夹
    mv: function(){
        gulp.src('./src/config.js')
            .pipe(gulp.dest(destDir));
        
        gulp.src('./src/extend/**')
            .pipe(gulp.dest(destDir + '/extend/'));
        
         gulp.src('./src/style/**/*')
        /    .pipe(gulp.dest(destDir + '/style/'));
        
         return gulp.src('./src/views/**/*')
             .pipe(gulp.dest(destDir + '/views/'));
    }
};


//清理
gulp.task('clear', function(cb) {
    return del(['./dist/*'], cb);
});
gulp.task('clearRelease', function(cb) {
    return del(['./json/*', releaseDir], cb);
});

gulp.task('minjs', task.minjs);
gulp.task('mincss', task.mincss);
gulp.task('mv', task.mv);

gulp.task('src', function(){ //命令:gulp src
    return gulp.src('./dev-pro/**/*')
        .pipe(gulp.dest('./src'));
});

//构建核心源文件
gulp.task('default', ['clear', 'src'], function(){ //命令:gulp
    for(var key in task){
        task[key]();
    }
});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值