webpack - 加载动态组件的问题:关键依赖:依赖的请求是一个表达式
问题描述
背景:我们正在用 Svelte 重写一个(非常)大的反应 UI。在应用程序的一个部分中有许多插件。每个插件都是一个组件。每个插件(组件)都注册在一个数组中。该数组中的每个组件都是动态导入并动态显示的。
店铺:
我们创建一个数组:
mycomponentsArray [ key, component_friendly_name, component_file_location, component-object (initially null)
.接下来我们循环遍历数组,并将数组元素文件(
component_file_location
)中的组件加载到数组元素对象(component_object
)中。在父组件中,我们导入商店。
然后我们使用
[#each]
循环通过 <svelte:component> 传递参数来加载组件。
据我所知,这是创建应用程序插件的正确模型。
- 但是这种方法会产生 webpack 严重错误:
"Critical dependency: the request of a dependency is an expression"
我已经对解决方案进行了彻底的搜索,虽然我至少了解了 webpack 面临的问题,但我有四个问题:
问题 1:是否有 webpack 设置或插件可以让我规避这个错误?
问题2:有什么原因我不应该规避错误(除了它会导致webpack创建一个更大的文件)
问题 3:我可以在 js 或 svelte 代码中添加一些明显的技巧来解决这个问题吗?
问题 4:我对苗条技术的要求是否过多,我应该将组件加载硬编码为常量并将动态组件限制为动态渲染(循环遍历数组以显示组件名称)。
谢谢
解决方案
推荐阅读
- python - 熊猫数据框图的步长/尖峰检测故障?
- r - 谷歌云服务器虚拟机可以通过 SSH 访问我的本地机器吗?
- python - Django 反向正则表达式匹配
- avaloniaui - Avalonia UI,通过绘制事物创建自定义控件
- java - OneToMany 双向关系不在子实体中插入外键
- python - 有没有办法获得 tkinter 正方形的颜色?
- gradle - 从脚本返回的 Gradle 导出环境
- python - 为什么 jQuery 支持的注册按钮没有响应?
- android-constraintlayout - android constraintlayout,椭圆不能按预期工作
- r - read.csv 在 R 中将列名向右移动