【发布时间】:2015-07-31 12:00:27
【问题描述】:
我正在尝试做一些我认为应该可行的事情,但我真的无法仅从 webpack 文档中了解如何去做。
我正在编写一个 JavaScript 库,其中包含多个可能相互依赖或不依赖的模块。最重要的是,所有模块都使用 jQuery,其中一些可能需要 jQuery 插件。然后,该库将用于可能需要部分或全部模块的多个不同网站。
定义我的模块之间的依赖关系非常容易,但定义它们的第三方依赖关系似乎比我预期的要难。
我想要实现的目标:对于每个应用,我希望有两个捆绑文件,一个包含必要的第三方依赖项,另一个包含我库中的必要模块。
示例: 假设我的库有以下模块:
- a(需要:jquery、jquery.plugin1)
- b(需要:jquery、a)
- c(需要:jquery、jquery.ui、a、b)
- d(需要:jquery、jquery.plugin2、a)
我有一个需要模块 a、b 和 c 的应用程序(将其视为唯一的入口文件)。这种情况下的 Webpack 应该生成以下文件:
- 供应商捆绑包:带有 jquery、jquery.plugin1 和 jquery.ui;
- 网站捆绑包:包含模块 a、b 和 c;
最后,我更喜欢将 jQuery 作为一个全局的,所以我不需要在每个文件上都需要它(例如,我可以只在主文件上需要它)。并且 jQuery 插件只会在需要时扩展 $ 全局(如果它们可用于其他不需要它们的模块,这不是问题)。
假设这是可能的,那么这种情况下的 webpack 配置文件的示例是什么?我在我的配置文件上尝试了几种加载器、外部和插件的组合,但我并没有真正了解它们在做什么以及我应该使用哪些。谢谢!
【问题讨论】:
-
您的解决方案是什么?你有没有设法找到一个体面的方法。如果有请发帖!谢谢
标签: javascript webpack external-dependencies