如何在许多Web组件之间共享1个元素元素实例

时间:2019-09-10 14:32:17

标签: typescript webpack lit-element lit-html

我有很多Web组件(每个组件都在其自己的仓库中),并希望在所有组件之间共享一个lit-element / lit-html实例。想法是减小束的尺寸。我不希望每个捆绑包中都有单独的实例

我制作了一个由wlit-element组成的Webpack UMD库(对于IE11而言,已转换为ES5),然后在主应用程序HEAD中,我有一个脚本标签指向我的light-element库。在Webpack中将其标记为外部。

这很好,直到我开始使用打字稿并遇到打字问题。

是否有可以自己安装的官方打字文件?我找不到一个?

1 个答案:

答案 0 :(得分:2)

这是您正在描述的对等依赖性情况

您有多个依赖于lit-element的库

您的每个应用程序都将拥有自己的捆绑器,该捆绑器可以将依赖关系图解析为一个捆绑包,而无需任何依赖项重复,并且还可以执行任何需要的转换(如ie11)和优化(如缩小)

这意味着您的Web组件库不需要提供任何捆绑软件-这样做实际上是一种损害,使代码重复成为可能,正如您所描述的

应用程序希望使用纯净,干净的现代es模块-每个应用程序都有自己的设置和首选项,以了解如何进行捆绑和转译