UglifyJS(gulp-uglify的依赖项)有一个Compress选项,默认情况下会删除未使用的变量。既然你从不参考
foo
它从压缩源中删除。
从
UglifyJS2文档
:
压缩选项:
<code>
unused (default: true)
</code>
- 删除未引用的函数和变量(除非设置为,否则简单的直接变量赋值不计为引用
<code>
"keep_assign"
</code>
)
</p>
以来
const foo = 4
是一个简单的直接变量赋值,它不会出现在压缩代码中。您可以假设您不需要未使用的代码或调整您的gulp文件:
gulp.task(‘scripts’, function () {
return gulp.src(‘src/js/*.js’)
.pipe(sourcemaps.init())
.pipe(babel())
.pipe(uglify({
compress: {
unused: false
}
}))
.pipe(sourcemaps.write(‘./‘))
.pipe(gulp.dest(‘dist/js’));
});
</code>