当我使用like dayjs(date).locale('te').format('YYYY MMM DD')时,我会得到英文的月份值。要使用区域设置,我必须导入区域设置。
import * as locale from 'dayjs/locale/te';问题是我看不到一种动态导入语言环境的方法。我没有访问nodejs require()函数的权限。我有基于react的应用程序。如何缓解这个问题?
发布于 2020-01-06 17:40:10
您需要首先导入所需的区域设置文件,如下所示
import 'dayjs/locale/te'
import 'dayjs/locale/en'然后,您可以在本地变量之间动态切换,如下所示
dayjs().locale('en').format()
dayjs('2018-4-28', { locale: 'te' })发布于 2020-11-03 15:03:36
您可以使用import作为导入表达式,并动态导入您想要的任何内容。例如:
import dayjs from "dayjs";
import localeData from "dayjs/plugin/localeData";
dayjs.extend(localeData);
const LOCALE = "de";
import(`dayjs/locale/${LOCALE}`)
.then(() => {
dayjs.locale(LOCALE);
console.log(dayjs.weekdays());
});您可以看到一个有效的示例in this codesandbox。
有关动态导入的更多信息,建议您阅读https://javascript.info/modules-dynamic-imports
发布于 2021-02-05 17:05:21
没有错误的动态导入的解决方法:
const locales = {
de: () => import('dayjs/locale/de'),
en: () => import('dayjs/locale/en'),
}
function loadLocale (language) {
locales[language]().then(() => dayjs.locale(language))
}https://stackoverflow.com/questions/59609466
复制相似问题