我正在尝试做一些我认为应该可行的事情,但我真的无法仅从 webpack 文档中了解如何做到这一点。
我正在编写一个 JavaScript 库,其中包含多个可能相互依赖或不相互依赖的module。最重要的是,所有module都使用 jQuery,其中一些可能需要 jQuery 插件。该库随后将用于可能需要部分或全部module的多个不同网站。
定义我的module之间的依赖关系非常容易,但定义它们的第三方依赖关系似乎比我预期的要困难。
我想要实现的目标:对于每个应用程序,我希望有两个包文件,一个包含必要的第三方依赖项,另一个包含我的库中的必要module。
示例:假设我的库具有以下module:
- a(需要:jquery、jquery.plugin1)
- b (需要: jquery, a)
- c (需要: jquery, jquery.ui, a, b)
- d(需要:jquery、jquery.plugin2、a)
我有一个需要module a、b 和 c 的应用程序(将其视为唯一的入口文件)。这种情况下的 Webpack 应该生成以下文件:
- 供应商包:使用 jquery、jquery.plugin1 和 jquery.ui;
- 网站包:包含module a、b 和 c;
最后,我更愿意将 jQuery 作为全局变量,因此我不需要在每个文件上都需要它(例如,我可以只在主文件上需要它)。并且 jQuery 插件只会扩展 $ global 以防万一(如果它们可用于不需要它们的其他module,这不是问题)。
假设这是可能的,对于这种情况,webpack 配置文件的示例是什么?我在我的配置文件中尝试了几种加载器、外部和插件的组合,但我真的不明白它们在做什么以及我应该使用哪些。谢谢!