尽管使用了区域设置文件,但在 moment.js 中设置区域设置不起作用

Kar*_*pan 0 javascript momentjs reactjs

setLocale项目的依赖项中有一个方法,我在区域设置更改时从项目中调用该方法。但是,区域设置似乎没有改变。

import moment from 'moment';
import 'moment/locale/de'; 

export const setLocale = locale => {
    console.log(`Locale to be set: ${locale}`)
    moment.locale(locale);
    console.log(moment.locale())
};
Run Code Online (Sandbox Code Playgroud)

控制台输出

moment-js v2.26.0在依赖项和2.24.0主项目中使用。

如果我明确设置区域设置,也会发生同样的情况。

但是,在主项目中更改区域设置效果很好。

Kar*_*pan 7

momentjs我通过以下方式导入和区域设置解决了这个问题:

import moment from 'moment/min/moment-with-locales';
Run Code Online (Sandbox Code Playgroud)

来自momentjs 文档

要节省加载各个语言环境的步骤(即仅加载所有语言环境),请导入该moment/min/moment-with-locales模块。

这当然不能解释为什么只导入一个文件会失败。