Npm 从因子包中提取供应商库

Npm 从因子包中提取供应商库,npm,browserify-shim,factor-bundle,Npm,Browserify Shim,Factor Bundle,我正在使用npm、Gulp和browserify为我的应用程序创建一个半自动构建管道。这就是我试图实现的目标: 具有特定于页面的文件,我可以通过脚本标记包括这些文件(即page1.js,page2.js,…) 将页面特定脚本之间共享的自定义代码分解为common.js 将通过npm安装的供应商库(即引导、jquery)提取到vendor.js中 我无法为我的应用程序组合browserify和browserify垫片。在我的网页中,我包括vendor.js,common.js,以及page1.

我正在使用npm、Gulp和browserify为我的应用程序创建一个半自动构建管道。这就是我试图实现的目标:

  • 具有特定于页面的文件,我可以通过脚本标记包括这些文件(即
    page1.js
    page2.js
    ,…)
  • 将页面特定脚本之间共享的自定义代码分解为
    common.js
  • 将通过npm安装的供应商库(即引导、jquery)提取到
    vendor.js
我无法为我的应用程序组合browserify和browserify垫片。在我的网页中,我包括
vendor.js
common.js
,以及
page1.js
。当我尝试加载页面时,我的脚本试图
require('bootstrap')
,此时会抛出一个异常:

// Part of bootstrap.js
if (typeof jQuery === 'undefined') {
  throw new Error('Bootstrap\'s JavaScript requires jQuery')
}
我希望必须告诉browserify shim引导依赖于jquery,它希望jquery的导出绑定到jquery变量。我试图在package.json中执行此操作

我很难准确地指出到底出了什么问题。我尝试了各种不同的值排列进入bootstrap的垫片(
jquery:jquery
jquery:$
jquery
)但都没有用。我还尝试在
浏览器
路径中包含和省略各种值。我还尝试通过命令行使用:
/node\u modules/.bin/browserify-r jquery-r bootstrap>vendor.js
,构建供应商包,但浏览器上出现了相同的错误。关于browserify shim和factor bundle,人们提出了很多问题,但没有一个问题涉及试图将两者结合起来的人

我已经创建了一个存储库,在这里演示了这个问题。自述文件中提供了安装和复制的步骤