【前端】我的Gulp配置
2. gulp + browserify
/**
* File Name: gulpfile.js
*/
// 引入 gulp
var gulp = require('gulp');
// 引入组件
// 保证在当前项目目录下曾经运行过:
// npm install gulp-uglify gulp-rename gulp-babel babel-preset-es2015 ...... --save-dev
// var jshint = require('gulp-jshint');
var babel = require("gulp-babel");
var rename = require('gulp-rename');
var coffee = require('gulp-coffee');
var gutil = require('gulp-util');
var stylus = require('gulp-stylus');
var browserify = require('browserify');
// var babelify = require('babelify');
var source = require('vinyl-source-stream');
var buffer = require('vinyl-buffer');
var sourcemaps = require('gulp-sourcemaps');
var notify = require('gulp-notify');
// 把src/script下的所有coffee逐个编译为js, 放在temp/script下
gulp.task('coffee', function() {
gulp.src('./src/script/**/*.coffee')
.pipe(coffee({bare: true}).on('error', gutil.log))
.pipe(babel({presets: ['es2015']}))
.pipe(gulp.dest('./temp/script'))
});
gulp.task('stylus', function() {
gulp.src('./src/style/*.styl')
.pipe(stylus())
.pipe(gulp.dest('./public/'));
});
gulp.task('browserify', function() {
browserify({
entries: ['./temp/script/main.js'],
debug: true, // 告知Browserify在运行同时生成内联sourcemap用于调试
})
// .transform("babelify", {presets: ["es2015"]})
.bundle()
.pipe(source('bundle.js'))
.pipe(buffer()) // 缓存文件内容
.pipe(sourcemaps.init({loadMaps: true})) // 从 browserify 文件载入 map
.pipe(sourcemaps.write('.')) // 写入 .map 文件
.pipe(gulp.dest('public'))
.pipe(notify({ message: 'browserify task complete' }));
})
// 监视文件的变化
gulp.task('watch', ['coffee', 'browserify', 'stylus'], function(){
gulp.watch('./src/script/*.coffee', ['coffee'])
gulp.watch('./src/style/*.styl', ['stylus'])
gulp.watch('./temp/script/*.js', ['browserify'])
});
// 默认任务
gulp.task('default', ['coffee', 'browserify', 'stylus', 'watch']);
1.
/**
* File Name: gulpfile.js
*/
// 引入 gulp
var gulp = require('gulp');
// 引入组件
// 保证在当前项目目录下曾经运行过:
// npm install gulp-jshint gulp-concat gulp-uglify gulp-rename gulp-babel babel-preset-es2015 ...... --save-dev
var jshint = require('gulp-jshint');
var babel = require("gulp-babel");
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');
var coffee = require('gulp-coffee');
var gutil = require('gulp-util');
var stylus = require('gulp-stylus');
gulp.task('coffee', function() {
gulp.src('./src/script/*.coffee')
.pipe(coffee({bare: true}).on('error', gutil.log))
.pipe(babel({presets: ['es2015']}))
.pipe(concat('all.js'))
// .pipe(rename('all.js'))
.pipe(gulp.dest('./public')) // distribution
.pipe(uglify())
.pipe(rename('all.min.js'))
.pipe(gulp.dest('./public')); // distribution
});
gulp.task('stylus', function () {
gulp.src('./src/style/*.styl')
.pipe(stylus())
.pipe(gulp.dest('./public/'));
});
// // 语法检查
// gulp.task('jshint', function() {
// gulp.src('./js/*.js')
// .pipe(jshint())
// .pipe(jshint.reporter('default'));
// });
// 监视文件的变化
gulp.task('watch', ['coffee', 'stylus'], function(){
gulp.watch('./src/script/*.coffee', ['coffee'])
gulp.watch('./src/style/*.styl', ['stylus'])
});
// 默认任务
gulp.task('default', ['coffee', 'stylus', 'watch']);
【前端】我的Gulp配置的更多相关文章
- 前端构建大法 Gulp 系列 (四):gulp实战
前端构建大法 Gulp 系列 (一):为什么需要前端构建 前端构建大法 Gulp 系列 (二):为什么选择gulp 前端构建大法 Gulp 系列 (三):gulp的4个API 让你成为gulp专家 前 ...
- 前端构建大法 Gulp 系列 (二):为什么选择gulp
系列目录 前端构建大法 Gulp 系列 (一):为什么需要前端构建 前端构建大法 Gulp 系列 (二):为什么选择gulp 前端构建大法 Gulp 系列 (三):gulp的4个API 让你成为gul ...
- 前端自动化工具gulp自动添加版本号
之前,我介绍了学习安装并配置前端自动化工具Gulp,觉得gulp确实比grunt的配置简单很多,于是我决定再深入学习一下gulp,就去网上查了资料,发现gulp还可以自动添加版本号,这个功能就为我平时 ...
- 前端构建之gulp与常用插件
gulp是什么? http://gulpjs.com/ 相信你会明白的! 与著名的构建工具grunt相比,有什么优势呢? 易于使用,代码优于配置 高效,不会产生过多的中间文件,减少I/O压力 易于学习 ...
- (转载)前端构建工具gulp使用
前端构建工具gulp使用 前端自动化流程工具,用来合并文件,压缩等. Gulp官网 http://gulpjs.com/ Gulp中文网 http://www.gulpjs.com.cn/ Gulp中 ...
- 前端构建工具gulp
前端构建工具gulp使用 前端自动化流程工具,用来合并文件,压缩等. Gulp官网 http://gulpjs.com/ Gulp中文网 http://www.gulpjs.com.cn/ Gul ...
- 前端构建之gulp与常用插件(转载)
原博主:幻天芒 原文地址:http://www.cnblogs.com/humin/p/4337442.html gulp是什么? http://gulpjs.com/ 相信你会明白的! 与著名的构建 ...
- 前端构建大法 Gulp 系列 (三):gulp的4个API 让你成为gulp专家
系列目录 前端构建大法 Gulp 系列 (一):为什么需要前端构建 前端构建大法 Gulp 系列 (二):为什么选择gulp 前端构建大法 Gulp 系列 (三):gulp的4个API 让你成为gul ...
- 前端构建大法 Gulp 系列 (一):为什么需要前端构建
系列目录 前端构建大法 Gulp 系列 (一):为什么需要前端构建 前端构建大法 Gulp 系列 (二):为什么选择gulp 前端构建大法 Gulp 系列 (三):gulp的4个API 让你成为gul ...
- (转)前端构建工具gulp入门教程
前端构建工具gulp入门教程 老婆婆 1.8k 2013年12月30日 发布 推荐 10 推荐 收藏 83 收藏,20k 浏览 本文假设你之前没有用过任何任务脚本(task runner)和命令行工具 ...
随机推荐
- Java 实现函数回调
在Java里没用委托(delegate)这方法,所以想要实现回调还是有些麻烦.(想了解C#如何实现?请查看:http://www.cnblogs.com/Martin_Q/p/4478494.html ...
- 合并分区(merge range)对事务日志的影响
分区维护作业执行失败,错误信息如下:数据库 'XXX' 的事务日志已满.若要查明无法重用日志中的空间的原因,请参阅 sys.databases 中的 log_reuse_wait_desc 列. [S ...
- git学习--常用命令
1.初始化一个 Git 仓库 git init <directory> //参数 directory:作为Git仓库的目录 2.从Git 仓库中拷贝项目 git clone <rep ...
- xcode调整debug,release模式
今天调试的时候发现变量都不能查看了.在「lldb」中通过「po」命令来查看总是提示变量未找到. 环境 xcode 7, Swift 2 错误提示 ‘XXXX’ was compiled with op ...
- yii框架的理解
Yii Framework是一个基于组件.用于开发大型 Web 应用的高性能 PHP 框架.Yii提供了今日Web 2.0应用开发所需要的几乎一切功能.Yii是最有效率的PHP框架之一. yii框架里 ...
- JSON--JavaScript Object Notation
概念 一种轻量级的数据交换格式,本质是特定格式的字符串,是客户端和服务器端交互数据的常用选择 规则 []集合 [value1,value2] {}对象 {key1:value1,key2,value2 ...
- python 数据库
什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据.我们也可以将数据存储在文件中,但 ...
- Windows Phone 十一、MVVM模式
MVVM 模式介绍 模型-视图-视图模型 (MVVM) 是一种用来分离 UI 和非 UI 代码的应用设计模式 MVVM – 模型(Model) MVVM 中的 Model 与 MVC 中的一致,用于封 ...
- People Tools catalog tables.
People Tools catalog tables. Projects PSPROJECTDEFN — Project header table PSPROJECTITEM — Definitio ...
- 17.如何修改SESSION的生存时间。
方法1:将php.ini中的session.gc_maxlifetime设置为9999重启apache 方法2:$savePath = "./session_save_dir/"; ...