Gulp Concat JS结果中的require未定义

时间:2016-05-06 09:58:25

标签: javascript jquery gulp concat

我有使用gulp的项目。

我试图将jquery,jquery ui和bootstrap放到一个名为vendor.js的文件中。

这种方法很好,但是当我跑步" gulp serve"从项目的dist文件夹运行项目我得到错误

  

ReferenceError:未定义require   http://localhost:3000/assets/toolkit/scripts/vendor.js   第6行

var jQuery = require('jquery');

gulp.task('vendor-js', function() {
       return gulp.src(['src/assets/toolkit/scripts/vendor/jquery.min.js', 
       'src/assets/toolkit/scripts/vendor/jquery-ui.js', 
       'src/assets/toolkit/scripts/bootstrap/bootstrap.min.js' ])
       .pipe(concat('vendor.js'))
       .pipe(gulp.dest('dist/assets/toolkit/scripts/'));
}); 

文件夹结构

dist\assets\toolkit\scripts

dist\assets\toolkit\styles

dist\assets\toolkit\images

dist\pages

index.html

为什么会这样?我看上去一点也没有运气!我见过类似的问题,但都与反应有关?

有人可以帮忙吗?

由于

尼克

1 个答案:

答案 0 :(得分:1)

管理最终让这个工作,所以我想我会发布我的解决方案。

我恢复使用内置的toolkit.js文件来要求每个依赖项。在这种情况下,Jquery,Jquery Ui,Bootstrap Sass和Chart Js。

在我的toolkit.js文件中,我包含了

window.$ = window.jQuery = require('jquery'); require('jquery-ui'); require('bootstrap-sass'); require('chart.js');

然后由我的Gulp任务连接起来。

关键是window.$ = window.jQuery = require('jquery');

而不是

require('jquery');