Day.js Nuxt 模块
快速且仅 2kB 的 Moment.js 替代方案,拥有相同的现代 API
支持 v3 的 Day.js Nuxt 模块
特性
- ⛰ 支持 Nuxt 3
- 🚠 激活任何可用的插件或语言环境
- 🌲 指定默认语言环境和时区
快速设置
- 将
dayjs-nuxt
依赖项添加到您的项目中
npx nuxi@latest module add dayjs
- 将
dayjs-nuxt
添加到nuxt.config.ts
文件的modules
部分
export default defineNuxtConfig({
modules: [
'dayjs-nuxt'
]
})
基本用法
您可以在模板中使用提供的 $dayjs
访问 Day.js。
<template>
<div>
<time :datetime="$dayjs('2023-01-01').utc().toString()"> {{ date }} </time>
</div>
</template>
组合式函数
您可以使用 useDayjs 组合式函数在任何地方访问 Day.js。
<script setup>
import { useDayjs } from '#dayjs' // not need if you are using auto import
const dayjs = useDayjs()
dayjs.locale('fr')
dayjs.extend(...)
</script>
配置
您可以指定任意数量的语言环境、插件,设置默认语言环境,并设置默认时区
export default defineNuxtConfig({
modules: ['dayjs-nuxt'],
dayjs: {
locales: ['en', 'fr'],
plugins: ['relativeTime', 'utc', 'timezone'],
defaultLocale: 'en',
defaultTimezone: 'America/New_York',
}
})
默认情况下,我们包含 relativeTime 和 utc 插件,并始终导入 updateLocale
外部插件
export default defineNuxtConfig({
modules: ['dayjs-nuxt'],
dayjs: {
...
externalPlugins: [{
name: 'dayjsBusinessDays',
package: 'dayjs-business-days2',
option: {
holidays: [`2023-12-26`],
holidayFormat: `YYYY-MM-DD`,
}
}]
...
}
})
可选的 defaultLocale 自定义
在 defaultLocale:
中,您可以定义一个包含自定义语言环境的数组,而不是语言环境字符串。有关更多信息,请参阅 dayjs 自定义。
以下是一个 relativeTime 配置的示例,让我们创建一个 咕噜 可以理解的配置
export default defineNuxtConfig({
modules: ['dayjs-nuxt'],
dayjs: {
...
defaultLocale: ['en', {
relativeTime: {
future: "in %s",
past: "%s ago",
s: 'a few secondses',
m: "a minute",
mm: "%d minuteses",
h: "an hour",
hh: "%d hourses",
d: "a day",
dd: "%d dayses",
M: "a month",
MM: "%d monthseses",
y: "a year",
yy: "%d yearseses"
}
}]
...
}
})
开发
# Install dependencies
npm install
# Generate type stubs
npm run dev:prepare
# Develop with the playground
npm run dev
# Build the playground
npm run dev:build
# Run ESLint
npm run lint
# Run Vitest
npm run test
npm run test:watch
# Release new version
npm run release