Gulp 3-使js文件比普通文件大3倍

Kin*_*sis 6 javascript npm gulp

由于gulp和js文件的缩小问题,gulp会使文件大3倍。

例如lightgallery.min.js- 49kb(从GitHub下载),然后我通过npm下载相同的文件,并且在js文件中是必需的(如果我插入从github下载的文件内容,则相同)

global.lightgallery = require('lightgallery');
Run Code Online (Sandbox Code Playgroud)

并运行gulp,它使文件133kb

任务任务

gulp.task('scripts', function() {
    gulp.src( SOURCEPATHS.jsSource )
        .pipe( browserify() )
        .pipe( uglify() )
        .pipe( rename({ extname: '.min.js' }) )
        .pipe( gulp.dest(APPPATH.js) );
});
Run Code Online (Sandbox Code Playgroud)

不使用任何源映射。

也许有人遇到同样的问题?

Zwe*_*der 4

该包lightgallery具有 jQuery 的依赖项,如npm 描述及其package.json中指定的那样。当 Browserify 执行其操作时,它会检查包的依赖关系图并将所有内容拉入。jQuery v3.3.1 缩小后约为约85kb,这应该可以解释差异。

如果您在其他地方已经有 jQuery,通常可以让 Browserify 忽略该特定包。例如,使用gulp-browserify包:

.pipe(browserify({ ignore: 'jquery' }))
Run Code Online (Sandbox Code Playgroud)

更新

您可以使用gulp-if插件有选择地将其应用于文件:

.pipe(
    gulpif(
        'jquery.js',
        browserify(),
        browserify({ ignore: ['jquery'] })
    )
)
Run Code Online (Sandbox Code Playgroud)