vue3 vite使用dayJS中文语言,打包后线上运行报错TypeError: Cannot read properties of undefined (reading ‘locale‘)

原先代码

import dayjs from "dayjs";
import 'dayjs/locale/zh-cn';
dayjs.locale("zh-cn"); 

线上报错:TypeError: Cannot read properties of undefined (reading ‘locale’)
把zh-cn.js 重写
创建dayJs_zh_cn.ts

import dayjs from "dayjs";
import { Dayjs, ConfigType, QUnitType } from "dayjs";

// 定义符合 dayjs 需要的 ILocale 类型的语言包
const zhCN: dayjs.ConfigType = {
  name: "zh-cn",
  weekdays: "星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),
  weekdaysShort: "周日_周一_周二_周三_周四_周五_周六".split("_"),
  weekdaysMin: "日_一_二_三_四_五_六".split("_"),
  months:
    "一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split(
      "_"
    ),
  monthsShort: "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),
  ordinal: (n: number, period: string) => {
    if (period === "W") return `${n}周`;
    return `${n}日`;
  },
  weekStart: 1,
  yearStart: 4,
  formats: {
    LT: "HH:mm",
    LTS: "HH:mm:ss",
    L: "YYYY/MM/DD",
    LL: "YYYY年M月D日",
    LLL: "YYYY年M月D日Ah点mm分",
    LLLL: "YYYY年M月D日ddddAh点mm分",
    l: "YYYY/M/D",
    ll: "YYYY年M月D日",
    lll: "YYYY年M月D日 HH:mm",
    llll: "YYYY年M月D日dddd HH:mm",
  },
  relativeTime: {
    future: "%s内",
    past: "%s前",
    s: "几秒",
    m: "1 分钟",
    mm: "%d 分钟",
    h: "1 小时",
    hh: "%d 小时",
    d: "1 天",
    dd: "%d 天",
    M: "1 个月",
    MM: "%d 个月",
    y: "1 年",
    yy: "%d 年",
  },
  meridiem: (hour: number, minute: number) => {
    const t = 100 * hour + minute;
    return t < 600
      ? "凌晨"
      : t < 900
        ? "早上"
        : t < 1100
          ? "上午"
          : t < 1300
            ? "中午"
            : t < 1800
              ? "下午"
              : "晚上";
  },
};

// 设置 dayjs 的语言
dayjs.locale(zhCN as any, null, true);

export default zhCN;
import "@/utils/dayjs_zh_cn";   代替  import 'dayjs/locale/zh-cn';

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值