Gulp 压缩供应商JS库

ncgqoxb0  于 2022-12-08  发布在  Gulp
关注(0)|答案(1)|浏览(127)

我试图获得一个vendor.min.js来减少要加载的外部文件的数量,为此我有以下gulp任务:

gulp.task('vendor-bundle', function() {
  gulp.src([
                'core-js/client/shim.min.js',
            'systemjs/dist/system-polyfills.js',
            'systemjs/dist/system.src.js',
            'reflect-metadata/Reflect.js',
            'rxjs/**/*.js',
            'zone.js/dist/zone.js',
            '@angular/**/bundles/*.umd.js',
            '@ng-bootstrap/**/bundles/ng-bootstrap.js',
            'jquery/dist/jquery.min.js',
            'bootstrap/dist/js/*.js',
            'tether/dist/**/tether.min.js',
  ],{cwd: "node_modules/**"})
  .pipe(concat('vendors.min.js'))
  .pipe(uglify())
  .pipe(gulp.dest('dist'));
});

当我尝试运行我的Angular 2应用程序时,我得到以下错误:

Uncaught SyntaxError: Identifier 'window' has already been declared
    at vendors.min.js:1
(anonymous) @ vendors.min.js:1
app.js:1 Uncaught ReferenceError: define is not defined
    at app.js:1
(anonymous) @ app.js:1

我想这是因为所有内容都组合到一个文件中可能会导致定义冲突吧?
我在我的app.js中得到另一个错误,我认为这是因为vendors.min.js由于我得到的错误而无法加载。
有没有办法删除重复的定义,或者有没有更好的办法将供应商文件连接成一个文件,以减少要提取的资源?

8fsztsew

8fsztsew1#

删除此行,因为它有重复的变量

.pipe(concat('vendors.min.js'))

相关问题