为什么Gulp的uglify不起作用?
问题描述:
我想用gulp丑化我的javascript代码。我正在Visual Studio 2015中开发一个Web应用程序,并且在gulpfile.js中有一堆任务脚本。下面是我试图丑化它是我们的打包所有的JavaScript到一个名为app.js文件中的脚本,以及如何的一个片段:为什么Gulp的uglify不起作用?
gulp.task('dev:js', ['lint'], function() {
return gulp.src(paths.appjs)
.pipe(plugins.order([
'Shared/PartialViews/_mainLayout.js',
'Shared/shared.js',
'*'
]))
.pipe(plugins.concat('app.js'))
.pipe(plugins.uglify()) // <-- Uglification
.pipe(gulp.dest(paths.distJs));
});
但它不工作。当我运行该应用程序时,打开Chrome控制台,我仍然可以看到app.js的完美清晰的形式。
同样的方法适用于其他文件,例如我们的vandor.js文件:
gulp.task('vendor:js', ['install'], function() {
return gulp.src(plugins.mainBowerFiles())
.pipe(plugins.filter('*.js'))
.pipe(plugins.order([
'jquery.js',
'bootstrap.js',
'jquery.dataTables.js',
'dataTables.bootstrap.js',
'dataTables.responsive.js',
'responsive.bootstrap.js',
'dataTables.select.js',
'pnotify.js',
'*'
]))
.pipe(plugins.debug({ title: 'vendor-files:' }))
.pipe(plugins.concat('vendor.js'))
.pipe(plugins.uglify()) // <-- Uglification
.pipe(gulp.dest(paths.distJs));
});
为什么不为app.js同样的工作?
答
它不起作用,因为您需要在协商过程后保存文件,然后再次uglify并保存。像这样:
gulp.task('vendor:js', ['install'], function() {
return gulp.src(plugins.mainBowerFiles())
.pipe(plugins.filter('*.js'))
.pipe(plugins.order([
'jquery.js',
'bootstrap.js',
'jquery.dataTables.js',
'dataTables.bootstrap.js',
'dataTables.responsive.js',
'responsive.bootstrap.js',
'dataTables.select.js',
'pnotify.js',
'*'
]))
.pipe(plugins.debug({ title: 'vendor-files:' }))
.pipe(plugins.concat('vendor.js'))
.pipe(gulp.dest(paths.distJs))
.pipe(plugins.uglify()) // <-- Uglification
.pipe(gulp.dest(paths.distJs));
});
嗯......这是一个工作。如果我将一行额外的行保存到paths.distJs中,但不能正常工作,脚本就会崩溃。如果我将它添加到能工作的那个,也是一样。 – gib65
对不起,我似乎以某种方式误解了代码。无论如何,我有类似的构建之前,并保存文件之前uglifying他们解决了我的问题,很抱歉听到它不能帮助你。 –