从browserify包中删除重复的模块

时间:2014-11-07 19:56:56

标签: javascript browserify

我有一个browserify包,我们称之为core.js,包含require('../module-a');语句。我的网站上的每个页面都包含core.js

我有一个特定于页面的独立包,我们称之为page.js。在page.js内,有一个require('../../some/folder/module-a');语句。

截至目前,module-acore.js都重复page.js次。我想告诉browserify,在生成page.js时,首先在core.js包中搜索module-a,然后使用该包中的module-a(如果存在)。

我不想要的是生成包含common.jscore.js共享代码的page.js捆绑包。我希望core.js保持不变,并简单地减少page.js。我也不想手动告诉page.js已经包含core.js module-a的{​​{1}}包,我有太多的模块可行。我需要以编程方式完成它。

这可能吗?

1 个答案:

答案 0 :(得分:1)

实际上,您无法通过browserify配置执行此操作,因为browserify不了解之前创建的捆绑包,也无法从两个单独编译的捆绑包中加入模块。

可能最简单的解决方案是让您的page.js模块在​​编译core.js之前知道是否包含page.js。这取决于您使用哪个工具和browserify来编译包。

所以,正如我所说,如果不围绕捆绑包写一些逻辑,你就无法做你想做的事。