swa*_*ram 45 javascript gulp gulp-uglify
我正在尝试缩小我的脚本文件,我正在使用gulp任务运行器而我正在尝试gulp-uglify插件
码:
gulp.task('concat', function() {
return gulp.src('app/**/*.js')
// .pipe(concat('script.js'))
.pipe(uglify())
.pipe(gulp.dest('./dist/'))
});
Run Code Online (Sandbox Code Playgroud)
但我得到的错误是
当我尝试运行gulp任务作为gulp concat任何帮助将不胜感激
小智 76
使用ES6格式时会生成主要错误.使用gulp-uglify-es模块而不是'gulp-uglify'来克服此错误.
var uglify = require('gulp-uglify-es').default;
Run Code Online (Sandbox Code Playgroud)
Mah*_*man 54
要在控制台中查看错误:
var gutil = require('gulp-util');
gulp.task('concat', function() {
return gulp.src('app/**/*.js')
// .pipe(concat('script.js'))
.pipe(uglify())
.on('error', function (err) { gutil.log(gutil.colors.red('[Error]'), err.toString()); })
.pipe(gulp.dest('./dist/'))
});
Run Code Online (Sandbox Code Playgroud)
要查找具有错误寄存器行号的确切文件并运行此任务:
var pump = require('pump');
gulp.task('uglify-error-debugging', function (cb) {
pump([
gulp.src('app/**/*.js'),
uglify(),
gulp.dest('./dist/')
], cb);
});
Run Code Online (Sandbox Code Playgroud)
Shi*_*kur 14
您是否在脚本文件中使用了ES6格式?如果是这样的话,现在尝试使用ES5,因为当你执行gulp-uglify时,它现在不理解ES6格式,之后尝试你的代码
gulp.task('concat', function() {
return gulp.src('app/**/*.js')
.pipe(concat('script.js'))
.pipe(uglify())
.pipe(gulp.dest('./dist/'))
});
Run Code Online (Sandbox Code Playgroud)
并运行gulp concat
它将工作的任务
我认为这里最重要的答案不是在解释如何获取错误。该文档有一节有关错误处理:
如果gulp-uglify无法缩小特定文件,则会发出“错误”事件
因此,只需捕获错误并对其进行任何处理(例如登录到控制台),即可查看文件名,行号和其他信息:
uglify().on('error', console.error)
Run Code Online (Sandbox Code Playgroud)
或在更大的范围内:
gulp.task('foo', () => {
return gulp.src([
'asset/src/js/foo/*.js',
'asset/src/js/bar/*.js',
])
.pipe(uglify().on('error', console.error))
.pipe(concat('bundle.js'))
.pipe(gulp.dest('./'));
});
Run Code Online (Sandbox Code Playgroud)
这给您一个超级有用的错误!
{ GulpUglifyError: unable to minify JavaScript
at [stack trace])
cause:
{ SyntaxError: Continue not inside a loop or switch
[stack trace]
message: 'Continue not inside a loop or switch',
filename: 'ProductForm.js',
line: 301,
col: 37,
pos: 10331 },
plugin: 'gulp-uglify',
fileName:
'/asset/src/js/foo/ProductForm.js',
showStack: false }
Run Code Online (Sandbox Code Playgroud)
尝试使用这个
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var minifyJS = require('gulp-minify');
gulp.task('concat', function() {
return gulp.src('app/**/*.js')
.pipe(minifyJS())
.pipe(concat('bundle.min.js'))
.pipe(uglify({ mangle: false }))
.pipe(gulp.dest('./dist/'));
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
44624 次 |
最近记录: |