antd 框架中内置了 moment 库,可以用来进行本地化等配置。但打包时报了一个错误:
Module not found: Error: Can't resolve './locale' in ···
这是 moment 库的一个 bug,参见#4216。
antd 框架中,默认使用了最新的 moment@2.22.2
,这个版本也是存在这样的 bug 的,使用 moment@2.18.1
这个版本就没有这样的问题。
解决方案是,不使用 antd 自带的 moment,通过配置 webpack 的 alias
,将所有的 moment 路径引用导入到 moment@2.18.1
中:
exports.alias = {
···
"moment$": "moment/moment.js"
}
当然,前提是需要手动安装 moment 依赖:
npm install moment@2.18.1
这个问题也就解决了。
完。