main-bower-files
というのを使って対象としたものをuglifyしようとしたら、怒られました。
gulpfile.coffee
gulp.task 'vendor', -> gulp.src bowerFiles() .pipe concat('vendor.js') .pipe uglify() .pipe gulp.dest './dist'
MacBook-Pro:project gaaamii$ gulp vendor [20:18:39] Requiring external module coffee-script/register [20:18:41] Using gulpfile ~/project/gulpfile.coffee [20:18:41] Starting 'vendor'... [20:18:41] 'vendor' errored after 199 ms [20:18:41] Error in plugin 'gulp-uglify' Message: Unexpected character '@' Details: fileName: /Users/gaaamii/project/dist/vendor.js lineNumber: 10609
解決
javascriptファイルを圧縮しようとしたのにCSSファイルが含まれていた。
デフォルトだとbowerで入れたBootstrapのCSSも一緒に持ってきてしまう。
- https://github.com/ck86/main-bower-files#options を見ればわかるように、
bower.json
にignoreオプションを追加すると、今回問題になったbootstrapパッケージは無視される。
"overrides": { "bootstrap": { "ignore": "true" } }