Nuxt3 最佳起步模板oku-nuxt3-template:一次集成 Tailwind、i18n 与深色模式的终极指南
2026/8/23 15:30:12 网站建设 项目流程

Nuxt3 最佳起步模板oku-nuxt3-template:一次集成 Tailwind、i18n 与深色模式的终极指南

【免费下载链接】oku-nuxt3-templateNuxt 3 best starter repo, Tailwindcss, Sass, Headless UI, Vue, Pinia, Vite, Eslint, i18n, Naive UI项目地址: https://gitcode.com/gh_mirrors/ok/oku-nuxt3-template

oku-nuxt3-template是一个面向新手和进阶开发者的Nuxt 3 最佳起步模板(best starter repo),一次性集成好了 Tailwindcss、Sass、Headless UI、Pinia、Vite、Eslint、i18n 国际化与 Naive UI。无论你是第一次接触 Nuxt 3,还是想为团队搭建统一规范的新项目,克隆这个模板即可直接开工,省去大量繁琐的初始配置。🚀

为什么选择 oku-nuxt3-template?

这个 Nuxt 3 模板把最常用、最容易配置出错的技术栈全部做成了"开箱即用"的方案:

能力提供的方案
样式框架Tailwind CSS v3 + Sass,支持dark:前缀深色模式
国际化 i18n@nuxtjs/i18n,内置英语、土耳其语两套语言包,自动检测浏览器语言
深色模式@nuxtjs/color-mode,支持 跟随系统 / 深色 / 浅色 三种切换
状态管理Pinia(@pinia/nuxt自动注册)
UI 组件Naive UI(@huntersofbook/naive-ui-nuxt)+ Headless UI
图标UnoCSS Icons,按需使用海量图标
代码规范ESLint + TypeScript 严格模式
开发体验Vite 构建 + Nuxt DevTools 开发工具

💡 所有模块都集中在 nuxt.config.ts 中声明,新手可以直接对照学习每个模块的作用。

快速上手:3 条命令跑起来

环境要求:Node.js16.11+ / 17+ / 18+,包管理器推荐pnpm@8.7.0(见 package.json)。

git clone https://gitcode.com/gh_mirrors/ok/oku-nuxt3-template cd oku-nuxt3-template pnpm install pnpm dev

启动后访问http://localhost:3000即可看到模板自带的演示页面(Pinia、Modal、Menu、Naive UI 四个示例页)。

生产环境打包只需两步:

pnpm build # 构建生产版本 pnpm start # 启动生产服务

一键切换深色模式的实现思路

模板的深色模式由@nuxtjs/color-mode驱动,在 nuxt.config.ts 中配置:

  • fallback: 'light':默认浅色主题
  • storageKey: 'color-mode':用户选择持久化到 localStorage,刷新页面不丢失
  • classSuffix: '':配合 Tailwind 的darkMode: 'class'(见 tailwind.config.js),通过根节点 class 切换实现全站暗色

切换入口是一个基于 Headless UI 的精致下拉组件,提供system / dark / light三个选项,源码位于src/components/tem/ColorChange.vue。页面级联切换也很丝滑——src/app.vue中给<Body>加了transition-colors duration-300过渡动画。

i18n 国际化:自动识别浏览器语言

国际化配置同样在 nuxt.config.ts 的i18n字段中,几个关键设置值得新手注意:

  • lazy: true+langDir: 'locales/':语言包按需懒加载,减小首屏体积
  • strategy: 'prefix_except_default':默认语言无 URL 前缀,其他语言带/en前缀
  • detectBrowserLanguage自动识别浏览器语言,并用 Cookie 记住用户选择(cookieKey: 'i18n_redirected'

语言文案就是普通的 JSON 文件:

  • 英语:src/locales/en-US.json
  • 土耳其语:src/locales/tr-TR.json

新增语言时,只需加一个 JSON 文件,并在src/availableLocales.ts中登记名称与旗帜图标。右上角的语言切换器源码在src/components/tem/LanguageChange.vue,用useSwitchLocalePath实现无刷新跳转。

Tailwind CSS:已配好常用插件

assets/css/tailwind.css 中只需引入基础指令,常用插件(@tailwindcss/forms@tailwindcss/typography@tailwindcss/aspect-ratio)均已在 tailwind.config.js 中挂载,并且扫描范围已覆盖pages/layouts/components/等全部源码目录——新页面直接写 class 就能用,不需要再改配置

Pinia 状态管理示例

src/store/counter.ts提供了一个最小可运行的 Pinia Store 示例(含 state 与 action),对应演示页src/pages/pinia.vue,新手可以照着它扩展自己的业务状态。

Naive UI 组件演示

src/pages/naive.vue集中演示了 Naive UI 的 Button、Input、DatePicker、Calendar 等常用组件,并展示了如何让 Naive UI 主题跟随全站深色模式(通过useColorMode()计算darkTheme / lightTheme)。

项目结构一览

src/ ├── components/ # 组件(含 tem/ 语言、主题切换器) ├── composables/ # 组合式函数(如 useLang) ├── layouts/ # 布局 ├── locales/ # i18n 语言包 ├── pages/ # 页面路由(index / menu / modal / naive / pinia) ├── store/ # Pinia 状态 ├── types/ # 全局类型 └── utils/ # 工具函数

总结

oku-nuxt3-template把 Nuxt 3 项目的"脏活累活"——样式、国际化、深色模式、状态管理、代码规范——全部预先配置成最佳实践。对于新手,它是学习 Nuxt 3 模块生态的活教材;对于团队,它是保证新项目一致性的起点。克隆下来跑通pnpm dev,你离一个规范的全栈 Vue 项目只差业务代码本身。

【免费下载链接】oku-nuxt3-templateNuxt 3 best starter repo, Tailwindcss, Sass, Headless UI, Vue, Pinia, Vite, Eslint, i18n, Naive UI项目地址: https://gitcode.com/gh_mirrors/ok/oku-nuxt3-template

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询