Gulp concat插件错误

问题描述 投票:2回答:1

我在一个大文件中使用gulp来插入我的插件(bootstrap,jquery等),这是我的代码:

const gulp = require('gulp');
const csso = require('gulp-csso');
const concat = require('gulp-concat');
const babel = require('gulp-babel');
const uglify = require('gulp-uglify');

gulp.task('build', function() {

gulp.src(["./bower_components/bootstrap/dist/css/bootstrap.min.css", 
         "./bower_components/ekko-lightbox/dist/ekko-lightbox.css",
         "./bower_components/owl.carousel/dist/assets/owl.carousel.min.css",
         "./bower_components/owl.carousel/dist/assets/owl.theme.default.css",
         "./client/css/core.css",
         "./client/css/responsive.css"])
.pipe(csso())
.pipe(concat("main.css"))
.pipe(gulp.dest("./build"));

gulp.src(["./bower_components/jquery/dist/jquery.js",
          "./bower_components/bootstrap/dist/js/bootstrap.bundle.js",
          "./bower_components/ekko-lightbox/dist/ekko-lightbox.min.js",
          "./bower_components/lazysizes/lazysizes.min.js",
          "./bower_components/owl.carousel/dist/owl.carousel.min.js",
          "./bower_components/moment/min/moment.min.js",
          "./bower_components/moment/min/locales.min.js",
          "./client/js/script.js" ])    
.pipe(babel({
        presets: ['es2015']
    }))
.pipe(uglify())
.pipe(concat("main.js"))
.pipe(gulp.dest('./build'));

});

它做得很好。但是,当我在我的项目中包含此脚本时,控制台会抛出我的错误:Uncaught TypeError: Cannot set property 'bootstrap' of undefined。我尝试在没有es2015uglify的情况下连接它,但这个错误(或其他,如moment is not defined)仍然存在。我究竟做错了什么?

javascript css gulp
1个回答
1
投票

好,我知道了。

npm install --save-dev babel-plugin-proposal-object-rest-spread
npm install --save-dev babel-plugin-transform-object-rest-spread

管道

.pipe(babel({
    presets: [['env', {
        loose: true,
        modules: false,
        exclude: ['transform-es2015-typeof-symbol']
    }]],
    plugins: ['transform-es2015-modules-strip', 'transform-object-rest-spread']
}))

它有效

© www.soinside.com 2019 - 2024. All rights reserved.