我正在尝试动态导入富文本编辑器 (CKEditor 4),以便加载该(重)库不会减慢我的初始页面加载速度。为此,我有以下组件:
const LazyCKEditor4 = dynamic(
async () => (await import('ckeditor4-react')).CKEditor
);
问题是,当我构建我的项目时,那一行变成:
, C = l(async()=>(await t.e(504).then(t.bind(t, 9504))).CKEditor, {
loadableGenerated: {
webpack: ()=>[require.resolveWeak("ckeditor4-react")]
}
...导致错误:
ReferenceError: require is not defined
。这个错误是有道理的(我使用的是 ES 模块,而不是 CommonJS,所以 shouldn't 是一个 require
函数)......但我不明白为什么 Next/Webpack 正在生成带有 require
的代码
.
有趣的是,在我的本地机器上,这不会发生……即使它使用相同的代码、相同的
package.json
(以及相同的库)、相同的数据库等
任何人都可以建议我可能做错了什么让 Next(通过 Webpack)将我的动态
import
转换为 require
(但仅在生产中)?