文档章节

gulpfile.js

透笔度
 透笔度
发布于 2016/10/25 09:23
字数 1066
阅读 52
收藏 0
var gulp = require('gulp'),                //gulp构建工具模块
    //代替 minifycss
    cleanCSS = require('gulp-clean-css'),   //css压缩模块
    //minifycss = require('gulp-minify-css'),
    concat = require('gulp-concat'),      //文件合并模块
    uglify = require('gulp-uglify'),      //js压缩模块
    rename = require('gulp-rename'),      //重命名模块
    jshint=require('gulp-jshint'),        //js语法检测模块
    less = require('gulp-less'),          //less解析模块
	plumber = require('gulp-plumber');    //less错误处理模块

    //语法检查
    gulp.task('jshint', function () {
        return gulp.src('js/*.js')
            .pipe(jshint())
            .pipe(jshint.reporter('default'));
    });

    //压缩 css
    gulp.task('mincss', function() {
        return gulp.src('css/*.css')    //需要操作的文件
            .pipe(rename({suffix: '.min'}))   //rename压缩后的文件名
            .pipe(cleanCSS({compatibility: 'ie7'}))   //执行压缩
            .pipe(gulp.dest('devcss'));   //输出文件夹
    });
    
    //解析 压缩  less
    gulp.task('analysisminless', function () {
        //编译src目录下的所有less文件夹)
        return gulp.src('less/*.less')       //需要操作的文件       
			.pipe(plumber())
            .pipe(less())   //less解析为css
			.pipe(rename({suffix: '.min'}))   //rename压缩后的文件名
			.pipe(cleanCSS({compatibility: 'ie7'}))   //执行压缩
            .pipe(gulp.dest('devless'));   //输出文件夹
    });
	
	//解析 less
   // gulp.task('analysisless', function () {
//        //编译src目录下的所有less文件夹)
//        return gulp.src('less/main.less')            
//			.pipe(plumber())
//            .pipe(less())   //less解析为css
//			.pipe(rename({suffix: '.min'}))   //rename压缩后的文件名
//            .pipe(gulp.dest('devless'));
//    });

    //压缩 js
    gulp.task('minjs', function() {
        return gulp.src('js/*.js')      //需要操作的文件         
            .pipe(rename({suffix: '.min'}))   //rename压缩后的文件名
            .pipe(uglify())    //压缩
			.pipe(gulp.dest('devjs'))       //输出到文件夹
    });
	
	
	//压缩,合并 js
    //gulp.task('minconcatjs', function() {
//        return gulp.src('js/*.js')      //需要操作的文件
//            .pipe(concat('all.js'))    //合并所有js到all.js           
//            .pipe(rename({suffix: '.min'}))   //rename压缩后的文件名
//            .pipe(uglify())    //压缩
//			.pipe(gulp.dest('devjs'))       //输出到文件夹
//    });
	
//监听文件内容变化,变化出发对应任务处理	
//	gulp.task('lessWatch', function () {
//		gulp.watch('less/*.less', ['minless']); //当所有less文件发生改变时,调用testLess任务
//	});
  
  //默认命令,在cmd中输入gulp后,执行的就是这个任务(压缩js需要在检查js之后操作)
    gulp.task('default',['jshint'],function() {
        gulp.start('mincss','analysisminless','minjs');   //执行定义的任务
  });

js混淆排除(关键字不简写) 多个文件操作

var gulp = require('gulp'),                //gulp构建工具模块
    //代替 minifycss
    cleanCSS = require('gulp-clean-css'),   //css压缩模块
    //minifycss = require('gulp-minify-css'),
    concat = require('gulp-concat'),      //文件合并模块
    uglify = require('gulp-uglify'),      //js压缩模块
    rename = require('gulp-rename'),      //重命名模块
    jshint=require('gulp-jshint'),        //js语法检测模块
    less = require('gulp-less'),          //less解析模块
	plumber = require('gulp-plumber');    //less错误处理模块

 	//gulp.src(['src/js/index.js','src/js/detail.js']) //多个文件以数组形式传入

    //语法检查
    gulp.task('jshint', function () {
        return gulp.src('static/devjs/controller/*.js')
            .pipe(jshint())
            .pipe(jshint.reporter('default'));
    });
	
	gulp.task('jshint2', function () {
        return gulp.src('static/devjs/assets/*.js')
            .pipe(jshint())
            .pipe(jshint.reporter('default'));
    });

    //压缩 css
    gulp.task('mincss', function() {
        return gulp.src('static/devcss/assets/*.css')    //需要操作的文件
            //.pipe(rename({suffix: '.min'}))   //rename压缩后的文件名
            .pipe(cleanCSS({compatibility: 'ie7'}))   //执行压缩
            .pipe(gulp.dest('static/css/assets'));   //输出文件夹
    });
    
    //解析 压缩  less
    gulp.task('analysisminless', function () {
        //编译src目录下的所有less文件夹)
        return gulp.src('static/devless/assets/*.less')       //需要操作的文件       
			.pipe(plumber())
            .pipe(less())   //less解析为css
			//.pipe(rename({suffix: '.min'}))   //rename压缩后的文件名
			.pipe(cleanCSS({compatibility: 'ie7'}))   //执行压缩
            .pipe(gulp.dest('static/css/assets'));   //输出文件夹
    });
	
	//解析 less
   // gulp.task('analysisless', function () {
//        //编译src目录下的所有less文件夹)
//        return gulp.src('less/main.less')            
//			.pipe(plumber())
//            .pipe(less())   //less解析为css
//			.pipe(rename({suffix: '.min'}))   //rename压缩后的文件名
//            .pipe(gulp.dest('devless'));
//    });

    //压缩 js
    gulp.task('minjs', function() {
        return gulp.src('static/devjs/controller/*.js')      //需要操作的文件         
            //.pipe(rename({suffix: '.min'}))   //rename压缩后的文件名
            .pipe(uglify({
            //mangle: true,//类型:Boolean 默认:true 是否修改变量名
            mangle: {except: ['require' ,'exports' ,'module' ,'$']}//排除混淆关键字
        }))    //压缩
			.pipe(gulp.dest('static/js/controller'))       //输出到文件夹
    });
	
	//压缩 js
    gulp.task('minjs2', function() {
        return gulp.src('static/devjs/assets/*.js')      //需要操作的文件         
            //.pipe(rename({suffix: '.min'}))   //rename压缩后的文件名
            .pipe(uglify({
            //mangle: true,//类型:Boolean 默认:true 是否修改变量名
            mangle: {except: ['require' ,'exports' ,'module' ,'$']}//排除混淆关键字
        }))    //压缩
			.pipe(gulp.dest('static/js/assets'))       //输出到文件夹
    });
	
	//压缩,合并 js
    //gulp.task('minconcatjs', function() {
//        return gulp.src('js/*.js')      //需要操作的文件
//            .pipe(concat('all.js'))    //合并所有js到all.js           
//            .pipe(rename({suffix: '.min'}))   //rename压缩后的文件名
//            .pipe(uglify())    //压缩
//			.pipe(gulp.dest('devjs'))       //输出到文件夹
//    });
	
//监听文件内容变化,变化出发对应任务处理	
//	gulp.task('lessWatch', function () {
//		gulp.watch('less/*.less', ['minless']); //当所有less文件发生改变时,调用testLess任务
//	});
  
  //默认命令,在cmd中输入gulp后,执行的就是这个任务(压缩js需要在检查js之后操作)
    gulp.task('default',['jshint','jshint2'],function() {
        gulp.start('mincss','analysisminless','minjs','minjs2');   //执行定义的任务
  });

package.json

{ "name": "gulpconfig",
  "description": "1: npm install  2: gulp",
  "version": "0.0.0",
  "dependencies" :
  { "gulp" : "~*"
  , "gulp-clean-css" : "~*"
  , "gulp-concat" : "~*"
  , "gulp-uglify" : "~*"
  , "gulp-rename" : "~*"
  , "gulp-jshint" : "~*"
  , "gulp-less" : "~*"
  , "gulp-plumber" : "~*"
  }
}

 

© 著作权归作者所有

透笔度
粉丝 83
博文 128
码字总数 235452
作品 0
朝阳
前端工程师
私信 提问
gulp前端自动化

前言 gulp的运行依赖与node.js,因此需保证node.js已经安装,node.js的下载地址https://nodejs.org/en/ , 以下操作在windows环境下完成,在其他操作系统其实也是相似的 一,安装gulp cmd进入...

上官胡闹
2016/04/30
111
0
前端自动化构建工具库之gulp

这是一款基于nodejs的前端自动化构建工具--gulp,以下是使用gulp的步骤: 1.安装主程序,在需要编译的目录输入 2.安装常用插件 3.配置gulpfile.js,如果工作目录下没有该文件,请新建gulpfil...

w-rain
2016/05/20
79
0
gulp插件(14) - require-dir(分离任务到多个文件中)

功能描述 使用gulpfile.js单文件编写任务,会造成文件过大,通过使用 require-dir 插件可以将任务分离到多个文件,同时也可以实现按模块编写任务 插件安装 使用方法 文件结构: 具体的任务分...

bug_killer
2017/12/23
0
0
gulp es5语法转换及js/css/html压缩过程

1.在对应的目录安装: 如果没有安装gulp,先安装gulp 下面是例子: 一.例子的目录 package.json 的内容 .babelrc 文件的内容 gulpfile.js 的文件内容: 在项目根目录可单个执行:gulp babel,gu...

孟飞阳
03/19
14
0
gulp的自动化开发环境配置

安装了 browser-sync gulpfile.js要修改下: gulpfile.js外部应该还可以通过装一个babel的插件使gulpfile.js改为es6的结构,但由于nodejs6都支持es6了(等es7就可以用gulp了),感觉意义不大...

小翔
2016/05/27
145
0

没有更多内容

加载失败,请刷新页面

加载更多

计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
今天
5
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
今天
7
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
今天
6
0
【技术分享】TestFlight测试的流程文档

上架基本需求资料 1、苹果开发者账号(如还没账号先申请-苹果开发者账号申请教程) 2、开发好的APP 通过本篇教程,可以学习到ios证书申请和打包ipa上传到appstoreconnect.apple.com进行TestF...

qtb999
今天
10
0
再见 Spring Boot 1.X,Spring Boot 2.X 走向舞台中心

2019年8月6日,Spring 官方在其博客宣布,Spring Boot 1.x 停止维护,Spring Boot 1.x 生命周期正式结束。 其实早在2018年7月30号,Spring 官方就已经在博客进行过预告,Spring Boot 1.X 将维...

Java技术剑
今天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部