如何使用coffescapet与uglify在一起
How to use coffescript with uglify in gulp?
我有以下项目结构
assets
--javascripts
----controllers
------somefile.js
------somefile.js.coffee
我想编译coffescriptions文件(*.js.coffee
),然后连接所有文件,然后缩小它们。
var gulp = require('gulp')
var concat = require('gulp-concat')
var coffee = require('gulp-coffee');
var uglify = require('gulp-uglify')
var gulpFilter = require('gulp-filter');
gulp.task('scripts', function() {
var coffeeScriptFilesFilter = gulpFilter(['*.js.coffee']);
return gulp.src(['assets/javascripts/**/*'])
.pipe(coffeeScriptFilesFilter)
.pipe(coffee())
.pipe(coffeeScriptFilesFilter.restore())
.pipe(concat('application.js'))
.pipe(gulp.dest('public'))
.pipe(uglify().on('error', errorHandler));
function errorHandler (error) {
console.log(error.toString());
this.emit('end');
}
});
不幸的是,我得到这个错误
Error in plugin 'gulp-uglify'
Message:
/var/www/gulp/public/application.js: Unexpected token: operator (>)
Details:
fileName: /var/www/gulp/public/application.js
lineNumber: 3
没有uglify
插件,一切都可以正常工作。结果是
console.log('hello!');
var lol = 'asd!';
(function() {
var test;
test = function() {
return "lol";
};
}).call(this);
uglify
插件可能正在尝试压缩.js.coffee
文件,但我不知道确切的原因。我该怎么修?
Uglify因为遇到coffescript而失败。这表明coffeeScriptFilesFilter没有捕获所有*.coffee.js文件。
给定文件foo.js.coffee和subdir/foo.js.coffee:
// this matches only foo.js.coffee
gulpFilter('*.js.coffee');
// this matches both
gulpFilter('**/*.js.coffee');
https://github.com/sindresorhus/gulp-filter#pattern
接受通过多批次运行的具有全局模式的字符串/数组
相关文章:
- 将依赖外部库的UMD模块与browserfy捆绑在一起
- 如何将具有相同功能的两个select html标签的两个JS组合在一起
- 将3个函数合并在一起
- 使用javascript将两个输入的日期添加在一起
- 避免将lib依赖项与webpack+handlebas加载程序捆绑在一起
- PHP、Javascript和SQL代码混杂在一起
- 有没有办法把它们串在一起,这样它们基本上可以同时工作
- PHP:同时循环元素粘在一起
- 把两个数字加在一起,得到5+10=510,而不是15
- 我怎样把这些剧本写在一起
- 安全地包装JS文件,这样当它们连接在一起时,它们仍然可以工作
- 如何将遗留的js文件与webpack捆绑在一起
- 在 JavaScript 中使用侦听器将输入字段链接在一起
- 如何将表链接在一起
- 如何有效地匹配两个不同 JavaScript 对象上的 id,并将它们合并在一起
- 我想通过单击按钮将 2 个 php 文件链接在一起
- JavaScript 将字符串与退格符连接在一起
- 通过 jQuery Find and Replace 将文本 URL 与 标记包装在一起
- 是否可以将滚动条系在一起
- 如何使用coffescapet与uglify在一起