Browserify&x2B;npm&;重复数据消除—如何生成输出文件

Browserify&x2B;npm&;重复数据消除—如何生成输出文件,npm,browserify,Npm,Browserify,我正在研究一种将npm(使用重复数据消除)作为依赖项管理器(而不是bower)实现的方法。现在,我有了像jQueryUI这样的npm包,它使用CommonJS require语句来包含像jquery这样的依赖项 在使用npm之前,我使用了reqular jquery ui脚本,而不需要。所以现在我想我必须使用Browserify来生成可以在浏览器中使用的JavaScript 现在我有一个问题(让我们考虑jQuery和jQuery UI示例):如果我有其他使用JQuery的包(或我自己的代码),这

我正在研究一种将npm(使用重复数据消除)作为依赖项管理器(而不是bower)实现的方法。现在,我有了像jQueryUI这样的npm包,它使用CommonJS require语句来包含像jquery这样的依赖项

在使用npm之前,我使用了reqular jquery ui脚本,而不需要。所以现在我想我必须使用Browserify来生成可以在浏览器中使用的JavaScript

现在我有一个问题(让我们考虑jQuery和jQuery UI示例):如果我有其他使用JQuery的包(或我自己的代码),这是否意味着我总是必须有一个来自Browserify的输出文件?例如:jQueryUI依赖于jquery,我自己的代码也依赖于jquery。如果我有两个独立的输出构建,例如:


browserify jquery-ui.js-o dist/jquery-ui.js
browserify myCode.js-o dist/myCode.js

那么这种方法就不好了,因为我将两次包含两个jquery。我理解正确吗


也许这就是总结所有内容的问题:我是否需要一个应用程序范围的“main.js”文件来满足我的应用程序所需的所有内容?

的确如此。您必须
npm重复数据消除
pre-browserify并使用多个入口点。如果您要浏览两次,您将打包该模块的两个版本。您最好构建一个分区包集。在这方面,您可以使用一个browserify命令,而不是复制模块。请在此处查看手册: