問題
在 Webpack 5 + Vue 3 + Element Plus 工程下遇到如此錯誤:
Element Plus: Module not found: Error: Can't resolve 'lodash/debounce'
分析
為了按需加載狼电,采用如下 plugin:
const ElementPlus = require('unplugin-element-plus/webpack').default;
查閱對應(yīng)文檔了解到绽昏,element-plus 模塊中有 es
和lib
兩種資源番电,
默認(rèn)引用的是 es
中的闺魏,資源文件擴展名為.mjs
鼓蜒。
而es
中具體組件代碼依賴了lodash/debouce
弟跑,這個資源對應(yīng)的文件擴展名是'.js'寂纪。
此時需要 webpack 的resolve.fullySpecified
配置加持枣宫,文檔參考
具體設(shè)置為rules
添加如下規(guī)則:
{
rules:[ {
test: /\.mjs$/i,
resolve: {
byDependency: {
esm: {
fullySpecified: false
}
}
}
},
}]
}