在我的js文件被丑化之前我用了“吞咽-巴贝尔”。该模块阻止缩小,因为第三方js脚本不是“严格模式”编译器。
// Include gulp
var gulp = require('gulp');
var baseDir = "./";
var jsources = [
"sites/**/js/*.js",
"!sites/**/js/*.min.js"
];
// Include Plugins
var jshint = require('gulp-jshint');
var babel = require('gulp-babel');
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');
// Minify JS
gulp.task('scripts', function () {
return gulp.src(jsources, { base: baseDir })
.pipe(babel({
presets: [
['env', { modules: false }]
]
}))
.pipe(uglify().on('error', function (e) { console.log(e); }))
.pipe(rename({ suffix: '.min' }))
.pipe(gulp.dest(baseDir));
});结果,我获得了一个错误,因为js文件不是严格模式编译器:

我不想修改那个第三方文件,使其成为严格的模式编译器。如何禁用该文件或其他类似文件的检查?
刚才因为这样的文件而被封锁了.
我试过了
但是输出还是一样的..。
发布于 2017-05-09 17:10:14
使用ignore选项可以避免传递第三方代码。transform-remove-strict-mode插件不能工作,因为已经太晚了。
发布于 2017-05-09 14:31:46
试着用残缺不全的方法来吞咽。
uglify({ mangle: false })发布于 2017-12-07 17:10:52
也许为时已晚,但你可以试着这样做:
gulp.task('foo_task', () => {
gulp.src('foo/src/path')
.pipe(concat('foo_file.js')
.pipe(babel({ presets: ['env'] }))
.pipe(uglify())
.pipe(gulp.dest('foo/dist/path'))
.pipe(concat([ '/dist/path', 'foo/src/path' ]))
.pipe(uglify())
.pipe(gulp.dest('foo/dist/path'))
});https://stackoverflow.com/questions/43871669
复制相似问题