首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >深度嵌套节点模块内app中的反重复库

深度嵌套节点模块内app中的反重复库
EN

Stack Overflow用户
提问于 2015-10-28 18:03:42
回答 1查看 921关注 0票数 1

我有一个应用程序,我可以添加模块作为node_modules。现在,这些模块和应用程序使用一个库XYZ作为节点模块。此外,这些模块还有其他节点模块,它们有自己的库XYZ作为节点模块。

所以,我的应用程序的结构大致是这样的

我用的是gulp和webpack,我正在尝试一些如何去复本库XYZ。我想要构建一个任务,通过这个嵌套的节点模块树,并构建出一个库XYZ的公共版本。我怎样才能做到这一点?

我尝试使用deDupePlugin,这是我添加到gulp默认任务中的全部内容,但是它没有工作。我错过了什么吗?

代码语言:javascript
复制
plugins: [
            new webpack.optimize.DedupePlugin()
           // new CommonsChunkPlugin("commons", "commons.js")
        ],

或者,还有其他方法来实现这一点吗?任何帮助都将非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-28 21:39:12

DedupePlugin只会删除完全相等的文件。您的模块可能依赖于库的不同版本,这就是为什么它可能并不总是被删除。甚至当文件被还原时,模块本身也不会被还原,所以您对单个实例的需求也不会得到满足。

可以使用resolve.alias将所有require('libraryXYZ')调用重定向到同一个顶级实例。

代码语言:javascript
复制
resolve: {
  alias: {
    libraryXYZ: require('path').resolve('./node_modules/libraryXYZ'),
  },
},

这是我制作的一个比较存储库,它展示了不同的方式来简化模块。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33398396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档