javascript - 从外部源加载动态模块
问题描述
我需要从外部源加载一个反应组件。
myUrl = "http.//myOtherwebsite/.../myComponent.js";
myComponent= React.lazy(() => import(/* webpackIgnore: true */ myUrl));
HTTP 响应状态为 200 ok,文件正确(我解决了任何 CORS 问题)。
我有错误:
TypeError: "undefined has no properties"
并且该组件未构建。我该如何解决这个问题?
解决方案
我没有太多运气让 webpackIgnore 实际上忽略导入调用。因此,import() 的返回值是未定义的,而不是实际的模块。当 webpack 执行此操作时,甚至根本不会获取 yourUrl 处的文件。您会得到“未定义没有属性”,因为返回的未定义将进入 React 机器而不是实际模块。
我对这个问题的解决方案可能无济于事,但这里是:在我的 Typescript 配置文件tsconfig.json
中,我将选项removeComments
设置为 True,这是正常的做法。但是它在 webpack 看到它之前删除了 webpackIgnore 注释,因此 webpack 没有忽略 import() 并且它替换它的内容返回了困扰你的未定义。
推荐阅读
- angular - 角度单元测试:错误:没有名称的表单控件的值访问器:'phoneNumber'
- python - 使用 Python/BeautifulSoup 进行 Web 抓取:具有多个指向配置文件的链接的站点 > 需要配置文件内容
- amazon-web-services - 临时拒绝 AWS 中的出站流量
- yocto - bitbake 修补失败
- python - Django服务器没有响应
- javascript - 使用 JqueryUI 拖放多个文件
- python - 如何在python numpy数组中添加字典值
- javascript - Safari 浏览器中 matchMedia 的 addEventListener
- python - 在python中大写
- vue.js - 如何正确配置我的后端以便从我的表单接收数据?我正在使用 Vue.js