【问题标题】:Can Webpack dynamic load a UMD module on client-side?Webpack 可以在客户端动态加载 UMD 模块吗?
【发布时间】:2019-05-12 11:18:59
【问题描述】:

我是用 Systemjs 做的,但配置是其中最糟糕的部分。我需要在浏览器中下载一个 UMD 库并将其作为应用程序的一部分进行渲染,但是 Webpack 中的所有内容都是自包含的。可能吗?它对某人有用吗?

我需要这个来用 Angular Universal 做一些好事,但我不想继续使用 SystemJS。

【问题讨论】:

  • 如果我没记错的话是的,我做到了。但是我想在一个专门的答案中为您提供一个工作示例,您可以将您当前的 webpack 配置添加到您的问题和库的名称中吗?
  • 我目前正在使用 ng serve。如有必要,我会弹出它。该库由我们开发,我们使用 ng-packagr 进行捆绑。
  • 对不起,ng 服务的意思是 angular/cli。

标签: javascript webpack dynamic load umd


【解决方案1】:

如果您希望单独加载一个 umd 库(不在您的包中)并仍然通过全局窗口在您的包中访问它,您可以添加导入加载器或导出加载器:请参阅https://webpack.js.org/guides/shimming

否则,您在使用 Webpack 导入 umd 模块时应该不会遇到任何问题。

【讨论】:

  • 是的,但我希望能够在客户端执行此操作,而我的 webpack 以前不知道该库。对于我所看到的,我需要先进行一些设置并一起构建所有内容,然后让 webpack 索引文件,不是吗?
  • 顺便说一句,感谢您的帮助!我很难弄清楚这一点。
  • 客户端是什么意思?使用 `import()ˋ 动态导入?
  • 浏览器上的动态导入。我需要构建一个方法,例如 this proposal 中的 Using host-specific mechanisms 获取 UMD,解决其依赖关系并将模块带到所需的任何上下文。
  • import('my-umd-module').then({default: myUmdModule} => { /* do something */ }) 也应该与 webpack 一起使用。你试过什么,什么没用?
猜你喜欢
  • 2018-06-15
  • 2016-06-14
  • 2018-06-05
  • 1970-01-01
  • 2016-01-24
  • 2015-11-10
  • 1970-01-01
  • 2016-09-10
相关资源
最近更新 更多