原因
相对于webpack3 webpack4改变了 dynamic import()的行为
import(cjs) 这种场景下,webpack3会把module.exports返回来,webpack4会包装一层成object = { default: xx }返回来,并把default的properties assign到这个object上,方便解构使用

https://medium.com/webpack/webpack-4-import-and-commonjs-d619d626b655
解决方案
建议处理方式:
const mod = await import('cjsModule')
const classFunc = mod.default || mod // 如果默认导出的是个class(即function),建议这样取
补充信息

webpack/webpack@7a34977


测试用例:https://github.com/webpack/webpack/blob/master/test/cases/mjs/non-mjs-namespace-object-lazy/index.js
原因
相对于
webpack3webpack4改变了dynamic import()的行为import(cjs)这种场景下,webpack3会把module.exports返回来,webpack4会包装一层成object = { default: xx }返回来,并把default的properties assign到这个object上,方便解构使用https://medium.com/webpack/webpack-4-import-and-commonjs-d619d626b655
解决方案
建议处理方式:
补充信息
webpack/webpack@7a34977
测试用例:https://github.com/webpack/webpack/blob/master/test/cases/mjs/non-mjs-namespace-object-lazy/index.js