我使用Gulp测试了每种方法的输出。
测试设置
连接(未缩小)时,我使用了 9 个总计19.15 kB的 JavaScript 文件。每个文件都以一个'use strict';
语句开头。
结果:
- 连接 => 丑化:7.993 kB
- Uglify => 连接:8.093 kB
- 差异: 0.1 kB
笔记:
- Concatenate => Uglify 去除9 个
'use strict';
语句中的 8 个
- Uglify => Concatenate 保留所有
'use strict';
语句
- 单个
'use strict';
语句为13 个字节。8 × 13 字节 = 104 字节,这说明了 0.1 kB 的差异。
最后的想法:
使用您喜欢的任何顺序。
这两个过程之间的差异可以忽略不计。如果以下两个都为真,则 Concatenate => Uglify 可以(理论上)产生(几乎不明显)较小的文件:
- 几个单独的文件以
'use strict';
语句开头
- 有很多单独的文件
这是gulpfile.js
我使用的:
var gulp = require('gulp'),
concat = require('gulp-concat'),
uglify = require('gulp-uglify');
var files = [
'!app/scripts/**/*Spec.js', // Exclude test files
'app/scripts/**/*.js'
];
// Register tasks
gulp.task('concat-min', function() {
return gulp.src(files)
.pipe(concat('script.min.js'))
.pipe(uglify())
.pipe(gulp.dest('dist'));
});
gulp.task('min-concat', function() {
return gulp.src(files)
.pipe(uglify())
.pipe(concat('script.min.js'))
.pipe(gulp.dest('dist'));
});