Browserify:防止在同一个应用程序中包含相同的npm-module

时间:2014-12-15 14:26:21

标签: javascript jquery npm browserify commonjs

出于学习目的,我正在开发一个基于jQuery的小型聊天应用程序。我想把它变成一个CommonJS模块,我可以在其他项目中重用它,只做以下的事情:

var Chat = require('chat'),
    mainChat = new Chat({/* ...params... */})

我也使用browserify捆绑所有依赖项。在我的" chat.js"我正在做的文件:

var $ = require('jquery');

它给了我一个本地的jquery对象,我不必担心jQuery是否早先包含在项目中的某个地方。但是,如果在我的项目的某个地方,在另一个" *。js"文件我将做同样的事情 - 它将创建另一个本地jQuery对象,我的包将变得非常庞大。我的问题:是否有一些方法或工具可以防止在同一个应用程序中包含一些npm-module?

1 个答案:

答案 0 :(得分:1)

如果两个版本的jQuery完全相同,那么browserify将在dedupe步骤中检测到它并仅包含一次。

有关详细信息,请参阅https://github.com/substack/browserify-handbook#dedupe