首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从dayjs https://www.npmjs.com/package/dayjs?中动态获取区域设置

如何从dayjs https://www.npmjs.com/package/dayjs?中动态获取区域设置
EN

Stack Overflow用户
提问于 2020-01-06 17:21:03
回答 5查看 5K关注 0票数 5

当我使用like dayjs(date).locale('te').format('YYYY MMM DD')时,我会得到英文的月份值。要使用区域设置,我必须导入区域设置。

代码语言:javascript
复制
import * as locale from 'dayjs/locale/te';

问题是我看不到一种动态导入语言环境的方法。我没有访问nodejs require()函数的权限。我有基于react的应用程序。如何缓解这个问题?

EN

回答 5

Stack Overflow用户

发布于 2020-01-06 17:40:10

您需要首先导入所需的区域设置文件,如下所示

代码语言:javascript
复制
import 'dayjs/locale/te'
import 'dayjs/locale/en'

然后,您可以在本地变量之间动态切换,如下所示

代码语言:javascript
复制
dayjs().locale('en').format()
dayjs('2018-4-28', { locale: 'te' })
票数 3
EN

Stack Overflow用户

发布于 2020-11-03 15:03:36

您可以使用import作为导入表达式,并动态导入您想要的任何内容。例如:

代码语言:javascript
复制
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

票数 3
EN

Stack Overflow用户

发布于 2021-02-05 17:05:21

没有错误的动态导入的解决方法:

代码语言:javascript
复制
const locales = {
  de: () => import('dayjs/locale/de'),
  en: () => import('dayjs/locale/en'),
}

function loadLocale (language) {
  locales[language]().then(() => dayjs.locale(language))
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59609466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档