从因子包

时间:2015-10-16 21:23:01

标签: npm browserify-shim factor-bundle

我正在使用npm,Gulp和browserify为我的应用程序创建一个半自动构建管道。这就是我想要完成的事情:

  • 我可以通过脚本代码包含特定于页面的文件(例如page1.jspage2.js,...)
  • 将我在页面特定脚本之间共享的自定义代码标记为common.js
  • 将通过npm安装的供应商库(即bootstrap,jquery)提取到vendor.js

我在为我的应用程序组合browserify和browserify-shim时遇到了麻烦。在我的网页中,我添加了vendor.jscommon.jspage1.js。当我尝试加载页面并且我的脚本尝试require('bootstrap')时,会抛出异常:

// Part of bootstrap.js
if (typeof jQuery === 'undefined') {
  throw new Error('Bootstrap\'s JavaScript requires jQuery')
}

我希望告诉browserify-shim,bootstrap依赖于jquery,它希望jquery的导出绑定到jQuery变量。我试图在我的package.json中执行此操作。

我无法准确查明出现了什么问题。我已经尝试了各种值的排列,以进入bootstrap的垫片(jquery:jQueryjquery:$jquery)无济于事。我还尝试在browser路径中包含和省略各种值。我还尝试使用:./node_modules/.bin/browserify -r jquery -r bootstrap > vendor.js通过命令行构建供应商包,但是浏览器出现了同样的错误。有很多关于browserify-shim和factor-bundle的问题,但没有一个问题可以解决任何试图将两者结合起来的问题。

我创建了一个存储库来演示此问题。安装和重现的步骤在README中。 https://github.com/linkleonard/browserify-shim-factor-bundle

0 个答案:

没有答案