http://www.w3ctech.com/topic/134  (该文章有很多错误)
http://segmentfault.com/a/1190000000372547
http://www.cnblogs.com/chyingp/p/gulp-introduction.html 
 
 
先node init 生成package文件
 
$ npm install -g gulp  安装gulp命令行工具  OR  npm install -g gulp --registry=http://registry.npm.taobao.org
$ npm install gulp --save-dev 在项目中安装gulp
 
Gulp配置文件名必须是 gulpfile.js 使用的是gulp 'taskname'命令  (不是node啦!) 
 
第一个Gulp
先试试最常用的jshint  https://www.npmjs.com/package/gulp-jshint  (官方文档很详细)
 
基本照着官方文档来的  但是官方文档还是有点问题....
 
var gulp = require('gulp'),
jshint = require('gulp-jshint'),
concat = require('gulp-concat'),
rename = require('gulp-rename'),
uglify = require('gulp-uglify');
var map = require('map-stream'); gulp.task('minify', function () {
gulp.src('../resources/module/quality_data/js/*.js')
.pipe(concat('concat.js'))
.pipe(gulp.dest('build')) // 拼起来后输出到build文件夹
.pipe(rename({suffix: '.min'})) //rename压缩后的文件名
.pipe(uglify())
.pipe(gulp.dest('build'))
}); var myReporter = map(function (file, cb) {
if (!file.jshint.success) {
console.log('JSHINT fail in '+file.path);
file.jshint.results.forEach(function (err) {
if (err) {
// console.log(err);
console.log(' '+file.path + ': line ' + err.error.line + ', col ' + err.error.character + ', code ' + err.error.code + ', ' + err.error.reason);
}
});
}
cb(null, file);
}); gulp.task('lint', function() {
return gulp.src('../resources/module/**/*.js') // **的意思是所有文件夹及里面的子文件夹 *s是子目录 不递归
.pipe(jshint())
// .pipe(myReporter); //reporter 是一个自定义的报告
.pipe(jshint.reporter('default', { verbose: true }));
});
 

Gulp 从0开始的更多相关文章

  1. gulp#4.0

    gitbook教程: https://dragon8github.gitbooks.io/gulp-webpack/content/an-zhuang-gulp-4-0.html gulpfile.j ...

  2. gulp#4.0 Did you forget to signal async completion?

    异常截图 解决方案: https://stackoverflow.com/questions/36897877/gulp-error-the-following-tasks-did-not-compl ...

  3. gulp顺序执行任务

    gulp的任务的执行是异步的. 所以,当我写完一系列的任务,准备一股脑地执行. # gulp.task('prod', ['clean', 'compass', 'image', 'style', ' ...

  4. 前端工程筹建NodeJs+gulp+bower

    1.安装nodejs nodejs 官网下载安装文件 安装完成之后,在命令窗口执行,(显示nodejs版本) 和(显示npm版本)可以使用这两个命令查看是否安装成功: node -v npm -v 2 ...

  5. 前端工程搭建NodeJs+gulp+bower

    需要node.npm的事先安装!! 1.nodejs安装程序会在环境变量中添加两个变量: 系统环境变量中:path 增加C:\Program Files\nodejs\ 因为在该目下存在node.ex ...

  6. gulp实用配置(2)——中小项目

    上一篇的gulp配置很简单,主要就是为了demo的查看和调试,这一篇则会相对详细一些,包括压缩合并打时间戳等. 在互联网环境比较好的城市,需要多人协作的,大一点的项目应该都用上了模块化(这里主要指co ...

  7. gulp的安装与使用【附配置代码】

    备忘 1.配置 下载安装node.js node -v //检查nodejs版本   npm(nodejs package manager)nodejs包管理工具   nodejs完毕在命令行输入np ...

  8. gulp学习-metamask前端使用

    https://www.gulpjs.com.cn/docs/getting-started/ ,这个是3.9.0版本 后面发现安装的版本是4.0.0,看下面这个: https://github.co ...

  9. 使用gulp 合并压缩打包,实时监控文件,实现本地server

    今天不讲webpack,就说说gulp是怎么进行压缩合并打包 首先你的安装gulp : npm install gulp -g --save-dev 然后最基本的你因该知道gulp 的四个方法, gu ...

随机推荐

  1. iOS7、iOS8推送通知的区别

    iOS8版本以后的推送通知代码[[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificati ...

  2. AJAX获取JSON形式的数据

    test.html: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...

  3. 第一个只出现一次的字符,josephus环,最大子数组和

    #include<stdio.h> #include<stdlib.h> #include<string.h> #define MAXINT 0x7fffffff ...

  4. Sencha Touch 之 Ext.fly方法的使用

    Ext.fly方法是Ext.js 4中的flyweight技术,该技术在浏览器中为使用Ext.fly方法的元素节点开辟一块内存,下一次使用Ext.fly方法的元素节点将占据同一块内存,即覆盖前一次的元 ...

  5. JavaScript和php常用语法——切割字符串

    在面向Web的应用中,前台和后台通信非常常用的一种格式就是字符串,所以,在通信中,我们不可避免的就需要进行字符串的拼切. 在js代码中,当我们传递一个字符串到后台代码时,我们在后台需要对字符串进行切割 ...

  6. TFS Build Definition

    1.  TFS Build 简介 在团队项目开发中,编译常常是一个很困难的事情! 可能你会反问编译有什么难的?不就是右键,然后点击 Build/Rebuild, 或者直接按 F5 么?这都不会,真不知 ...

  7. NOI2012 Day2

    NOI2012 Day2 迷失游乐园 题目描述:给出一个\(n\)个点的图,边数为\(n-1\)或\(n\).从某个点出发,每次等概率地随机选一个相连的并且没有经过过的点,直到不能走为止,问期望路径长 ...

  8. poj1528---(数论)

    题意:一个数除了自身以外的所有因数相加,得到的数如果小于自身,输出deficient,否则输出abundant,如果相等,输出perfect 这道题核心:求一个数的所有除本身之外的因数的和 ,i; ; ...

  9. nova的wsgi介绍【WIP】

    有关openstack的所有的帖子. https://www.ustack.com/blog/openstack_hacker/#Nova_Workflow 网上已经很多的分析文章了: http:// ...

  10. oracle任务计划debug

    crontab -eno crontab for root - using an empty onecrontab: installing new crontab"/tmp/crontab. ...