javascript - Gulp 3 - 使 js 文件比普通文件大 3 倍
问题描述
由于 gulp 和 js 文件缩小存在问题,gulp 会生成 3 倍大的文件。
例如 lightgallery.min.js - 49kb(从 GitHub 下载)然后我通过 npm 下载相同的文件并在 js 文件中需要(如果我从 github 插入下载的文件内容,则相同)
global.lightgallery = require('lightgallery');
并运行 gulp 它使文件133kb
吞咽任务
gulp.task('scripts', function() {
gulp.src( SOURCEPATHS.jsSource )
.pipe( browserify() )
.pipe( uglify() )
.pipe( rename({ extname: '.min.js' }) )
.pipe( gulp.dest(APPPATH.js) );
});
不使用任何源地图。
也许有人遇到同样的问题?
解决方案
该包lightgallery
具有在 npm 描述及其package.json中指定的 jQuery 依赖项。当 Browserify 执行它的操作时,它会检查包的依赖关系图并将所有内容拉入。缩小的 jQuery v3.3.1 约为85kb,这应该可以解释差异。
如果你在其他地方已经有 jQuery,你通常可以让 Browserify 忽略那个特定的包。例如,使用gulp-browserify
包:
.pipe(browserify({ ignore: 'jquery' }))
更新
您可以使用gulp-if插件有选择地将其应用于文件:
.pipe(
gulpif(
'jquery.js',
browserify(),
browserify({ ignore: ['jquery'] })
)
)