ES 动态导入,Safari 上的 ChunkLoadError

aln*_*447 5 javascript safari webpack babeljs

我正在开发一个小型测试器,以确保应用程序的所有版本都能与动态导入配合良好。我创建了一个下载数字变量的基本示例

import(/* webpackMode: "lazy-once", webpackChunkName: "dynamic-var" */ './dynamicVar').then(({TEST_NUMBER}) => {
    console.log(`the number is ${TEST_NUMBER}`);
});
Run Code Online (Sandbox Code Playgroud)

运行代码会导致一个新的 js 文件弹出到我的源代码中,并且该变量会按预期导入。

问题是,这个配置对我来说不起作用,因为我chunkLoadError在一些设备上收到了指向导入的 js 文件的报告,大部分是来自 Safari 浏览器。

块错误源自 webpack(或)babel 脚本,将动态导入的值放入标签中。这似乎是某种填充,但我不确定,因为即使我将其设置browserslist为最后两个 chrome 版本,也会调用相同的函数。

这是 WP/Babel 中引发错误的代码

import(/* webpackMode: "lazy-once", webpackChunkName: "dynamic-var" */ './dynamicVar').then(({TEST_NUMBER}) => {
    console.log(`the number is ${TEST_NUMBER}`);
});
Run Code Online (Sandbox Code Playgroud)

我尝试在网上寻找解决此错误的可能方法,但在我的一生中,我似乎找不到任何特别的东西。

周围有人熟悉这个问题吗?有什么办法可以解决这个问题吗?