Element Plus: Module not found: Error: Can't resolve 'lodash/debounce'

问题

在 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;

查阅对应文档了解到,element-plus 模块中有 eslib两种资源,
默认引用的是 es中的,资源文件扩展名为.mjs
es中具体组件代码依赖了lodash/debouce,这个资源对应的文件扩展名是'.js'。
此时需要 webpack 的resolve.fullySpecified配置加持,文档参考

具体设置为rules添加如下规则:

{
rules:[ {
          test: /\.mjs$/i,
          resolve: {
            byDependency: {
              esm: {
                fullySpecified: false
              }
            }
          }
        },
}]
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。