я следующая структура проектаКак использовать coffescript с uglify в глотке?
assets
--javascripts
----controllers
------somefile.js
------somefile.js.coffee
, и я хотел бы собрать coffescripts файлы (*.js.coffee
), то CONCAT все файлы, а затем Минимизировать их.
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
файл, но я не знаю точно, почему. Как я могу это исправить?
Что содержит application.js при возникновении ошибки? – Heikki
@Heikki Согласованные файлы js перед компилятором coffescript. Строка три - 'test = ->" lol "' –
Wat? :) Не может быть. Вы делаете concat ** после ** кофе. – Heikki