gpt4 book ai didi

javascript - 如何在 gulp 中使用 coffescript 和 uglify ?

转载 作者:太空宇宙 更新时间:2023-11-04 00:57:58 24 4
gpt4 key购买 nike

我有以下项目结构

assets
--javascripts
----controllers
------somefile.js
------somefile.js.coffee

我想编译 coffescripts 文件 (*.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 失败,因为它遇到了 CoffeeScript。这表明 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

Accepts a string/array with globbing patterns which are run through multimatch

关于javascript - 如何在 gulp 中使用 coffescript 和 uglify ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28768217/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com