javascript - Webpack:如何使用魔术注释将文件导入将作为库发布然后导入不同应用程序的文件
问题描述
我有一个作为 umd 库发布的文件,其中包含一个动态导入,它根据配置选项构建一个选择的小部件列表。这一切都很好,因为当我直接运行库时,主 js 和小部件 js 文件正在发布。当我将库导入另一个项目时。它尝试基于项目 url 的根目录而不是基于 umd 的 url 来导入小部件的路径。有没有一种方法可以强制动态导入以库的绝对路径为基础?我在魔术评论中找不到任何有用的东西。
我的次要选择是将每个小部件发布为它们自己不同的库,然后 webpackIgnore 我认为应该工作的导入
webpack 配置输出:
output: {
publicPath: "",
path: require("path").resolve("publish/__dist"),
filename: "[name].js",
library: {
name: "widget-container",
type: "umd",
umdNamedDefine: true,
},
},
在库中导入:
import(/* webpackChunkName: "widgets/widget" */ `../widgets/${b.slug}/js/widget.js`)
解决方案
推荐阅读
- go - proto:文件已经注册到不同的包中
- amazon-web-services - AWS SES 电子邮件验证请求 ID 状态
- parallel-processing - 对 OMP_NUM_THREADS 和 numactl NUMA-cores 绑定感到困惑
- optimization - 如何将 pytorch 模型集成到动态优化中,例如在 Pyomo 或 gekko 中
- spring-boot - 使用 Postman 请求时,H2 数据库中的 AUTO_INCREMENT 不起作用
- python - 使用python递归查找元素的深度
- html - 在隐藏/显示类型的 TOC 中,如何在隐藏状态下显示 TOC
- python - pandas.DataFrame.agg 不适用于 np.std?
- sql-server-2017 - SQL Server 永远在线
- javascript - 类内对象内的函数