Angular 10 延迟交付 Web 组件模块导入

问题描述

我正在使用角度元素构建不同的 Web 组件,为每个 Web 组件获取一个单独的 .js 文件

card-element.js
user-profile.js
...

我们在 angular 项目之外使用它们并将它们加载到不同的网页(wordpress、Wix...)中:

fetch('https://{url}/card-element.js').then(jsstring => {
  const elementScript = document.createElement('script');
  ...
  document.body.appendChild(elementScript);
  const element = document.createElement('card-element');
  ...
  document.body.appendChild(element);
})

我们希望解决并避免为每个 Web 组件导入通用模块,例如 CommonModuleHttpModuleFormsModule...

我们想要实现的目标:

fetch('https://{url}/common-bundle.js')
  .then(jsstring => {
    // Firstly,we get a js file with all common modules
  })
  .then(() => {
    fetch('https://{url}/card-element.js').then(jsstring => {
      // Then,get a lesser in size element,that will be injected into page
      // and will consume (somehow) modules from common bundle
    })
  })

因此,我们将拥有一个 vendor 包和更轻量级的网络元素。 这是否有可能以某种方式捆绑常用模块捆绑包,然后在 Web 组件中引用它们,但不直接导入它们?

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)