Browserify:捆绑引导程序后找不到导出的功能

时间:2019-01-12 19:46:13

标签: javascript gulp browserify

我正在使用Browserify创建一个包,其中包含一个我想在machine_reference: {type: mongoose.Schema.Types.ObjectId, index: true, required: true, ref:'name of the model'} 标记中调用的导出函数。一切正常,直到我<script>引导程序为止,此时该功能不再可用,并且出现错误:

  

TypeError:mainBundle.greeting不是函数

代码如下:

JavaScript( main.js ):

require

HTML

window.jQuery = require('jquery');
window.$ = global.jQuery;

module.exports = {
  greeting
};

function greeting (name) {
  return `Hello ${name}!`;
}

Gulpfile:

Gulp Browserify recipe身上花了很多钱。您可以看到我在<script src="js/bundle.js"></script> <script> // Update greeting $('#greeting').text(mainBundle.greeting('Foo')); </script> 中添加了standalone选项以生成独立模块,并在customOpts中添加了Bootstrap。在require行中添加注释时会发生此问题。

require

1 个答案:

答案 0 :(得分:0)

嗯,将require放在 main.js 中可以解决此问题:

const bootstrap = require('bootstrap');
window.jQuery = require('jquery');
window.$ = global.jQuery;

module.exports = {
  greeting
};

function greeting (name) {
  return `Hello ${name}!`;
}

如果有人有更好的答案,可以让我使用Browserify require选项,我会很乐意接受您的答案。我宁愿使用config选项来避免导入脚本中未明确要求的内容。