集成 Tailwind CSS、Headless UI 与 unplugin-icons 图标组件
nuxt-starter — Nuxt 启动器模板
作者 renatoxm
基于 Nuxt 3 的启动器模板,集成 Tailwind CSS、Headless UI、Pinia、i18n、Nuxt Content 等模块,并附带一组布局与 UI 组件。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 2
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
使用 Pinia 管理状态,VueUse 提供组合式工具集
通过 @intlify 的 i18n 实现本地化,并支持自动生成语言文件
内置 Navbar、Page Layout、Dashboard Layout、Card、Alert 等 UI 组件
主题切换支持浅色、深色、系统与实时模式,主色和字体可配置
Nuxt Content 以 Markdown 管理内容,但仅限 SSR 模式
模板详细介绍
这是一个 Nuxt 3 启动器模板(boilerplate),仓库描述为 Nuxt 3 + Tailwind CSS + Nuxt Layer。README 列出的集成包括 Tailwind CSS、Headless UI、unplugin-icons 图标组件、Pinia 状态管理、@intlify 的 i18n 本地化、VueUse、Nuxt Content(SSR)、主题切换(浅色/深色/系统/实时)、Prettier、Consola、Release It、Vue I18n、联系表单,以及可配置主题(主色与字体)。其中 Nuxt Layer 支持在功能清单中仍标记为未完成。
模板自带一组内置组件:Footer、Button、Anchor、Alert、Card、Action Sheet、主题切换、Navbar(含 Navbar Builder、移动端 Drawer 与 Options)、Page Layout(Wrapper、Header/Title、Body/Section/Section Wrapper/Section Title)、Dashboard Layout(Sidebar)以及联系表单;Modal 标记为未完成。
使用上有几点限制:Nuxt Content 仅在 SSR 模式下可用,静态模式尚不支持;联系表单依赖 Static Forms 服务,需要在 .env 中配置 ACCESS_KEY;新增语言需同时修改 nuxt.config.ts、locales 目录下的 .yml 文件与 app.config.ts。项目使用 pnpm 作为包管理器,可通过 pnpm generate 构建为静态站点并部署 dist/ 目录。仓库采用 MIT 许可,版权归 Renato Nabinger。
适合你的项目吗?
适用场景
- 需要快速搭建 Nuxt 3 项目骨架并自带常用 UI 组件时
- 项目需要多语言支持并希望用 YAML 文件维护翻译文案时
- 需要浅色/深色主题切换与可配置主色、字体的站点
- 使用 Markdown 编写内容且以 SSR 方式渲染的站点
- 需要带侧边栏的 Dashboard 布局页面
适合人群
- 熟悉 Vue 与 Nuxt 的前端开发者
- 需要多语言与主题切换能力的项目
- 希望以 Markdown 管理内容的 SSR 站点
- 需要现成布局与基础组件、减少初始搭建工作的团队
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
使用 pnpm 作为包管理器,克隆后执行 pnpm install --shamefully-hoist 安装依赖
- 2
执行 pnpm dev 启动开发服务器,默认访问 http://localhost:3000
- 3
执行 pnpm generate 构建静态站点,并部署 dist/ 目录
- 4
联系表单需在 .env 中配置 ACCESS_KEY,密钥来自 Static Forms
- 5
新增语言需同时修改 nuxt.config.ts 的 locales、locales 目录下的 .yml 文件与 app.config.ts
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
- Nuxt Content 功能仅在 SSR(服务端渲染)模式下可用;静态模式尚不支持,因此若以静态站点方式部署,无法使用基于 Nuxt Content 的 Markdown 内容功能。
- 使用联系表单组件 LayoutPageContact 前,必须在 .env 文件中配置访问密钥,否则该组件无法正常工作。
- 联系表单依赖第三方服务 Static Forms,需访问其网站注册并获取访问密钥,属于外部服务依赖。
- 新增语言或修改默认语言时,必须编辑 nuxt.config.ts 并在 locales 数组中添加对应语言配置。
- 除修改 nuxt.config.ts 外,还需在 ./locales 目录下新增对应的 .yml 语言文件,并在 app.config.ts 中同步登记该语言。
查看原文依据
Permission is hereby granted, free of charge
许可证原文
But this is only available for SSR (Server Side Rendering) mode. Static mode still not working
README 原文
In order to use the contact form component `LayoutPageContact`, you need to create a `.env` file and add your key to it.
README 原文
To get the access key, visit [Static Forms Website](https://www.staticforms.xyz) and follow the instructions.
README 原文
To add a new language, or change default language, you need to edit `nuxt.config.ts` and add a new locale in `locales` array.
README 原文
https://github.com/renatoxm/nuxt-starter/blob/main/LICENSE.mdhttps://github.com/renatoxm/nuxt-starter/blob/main/README.mdYou also need to add a locale `.yml` file in `./locales` and also ad them in `app.config.ts`
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-13。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料一般 · 73 / 100
- 技术栈
- Nuxt · Vue
- 网站类型
- 启动器
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2024-02-20
- 截图检查日期
- 2026-10-13
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 Nuxt。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
审核声明: [email protected] · 2026-10-13
查看当时使用的来源资料
SHA-256: 4ce928bb219893f8e90ead0e5866db0bbb47107949541f136ecabca9dbb13986
2026-10-13T04:40:58.564Z
来源文件 / 仓库# Nuxt Starter
A Nuxt 3 starter template or boilerplate with a lot of useful features. and integrated with TailwindCSS 3.
## Features
- [x] 💨 [Tailwind CSS v3](https://tailwindcss.com/)
- [x] ✨ [Headless UI](https://headlessui.dev/)
- [x] 🔔 [Icon Pack Component (unplugin-icons)](https://icones.js.org/)
- [x] 🛹 [State & Store Management (Pinia)](https://pinia.vuejs.org/)
- [x] 🚩 [Localization (i18n) by @intlify](https://github.com/intlify/nuxt3) & Auto Generate Locales
- [x] 📦 [Vue Composition Collection (Vueuse)](https://vueuse.org/)
- [x] 📚 [Content Management System (Nuxt Content)](https://content.nuxtjs.org/) [SSR]
- [x] 🌙 Switch Theme (light, dark, system, realtime)
- [x] 💅 [Prettier](https://prettier.io/)
- [x] 💻 [Consola](https://github.com/unjs/consola)
- [x] 🚀 [Release It](https://github.com/release-it/)
- [x] 🌎 [Vue I18n Internationalization](https://vue-i18n.intlify.dev/)
- [x] ✉️ Contact form
- [x] Configurable Theme (Easy to change)
- [x] Primary Colors
- [x] Font
- [ ] 📚 [Nuxt Layer Support](https://nuxt.com/docs/getting-started/layers#layers)
## Preview
<table align="center">
<tr>
<td align="center" width="95%" colspan="2">
<img src="https://github.com/renatoxm/nuxt-starter/blob/main/assets/images/Nuxt3StarterScreen.png?raw=true" alt="Preview" title="Preview">
</td>
</tr>
</table>
<p align="center">
<br>
<a href="https://nuxt-starter-renatoxm.vercel.app/" target="_blank">
Live Demo
</a>
<br><br>
<a href="https://codesandbox.io/s/github/renatoxm/nuxt-starter" title="Open In Code Sandbox">
<img src="https://img.shields.io/badge/Open%20in-CodeSandbox-blue?style=flat-square&logo=codesandboxg" alt="Open In Code Sandbox">
</a>
</p>
## Table of Contents
- [Nuxt 3 Starter](#nuxt-starter)
- [Features](#features)
- [Preview](#preview)
- [Table of Contents](#table-of-contents)
- [Quick Start](#quick-start)
- [Start with this template](#start-with-this-template)
- [Deploy as Static Site](#deploy-as-static-site)
- [Built-in Components](#built-in-components)
- [Notes](#notes)
- [Nuxt Content](#nuxt-content)
- [Custom Workspace Snippets](#custom-workspace-snippets)
- [Styles](#styles)
- [Localization](#localization)
- [Contact Form](#contact-form)
- [License](#license)
## Quick Start
For detail information, go here [Getting Started](https://nuxt-starter-renatoxm.vercel.app/)
### Start with this template
- This project using `pnpm` as package manager.
- Clone this project to your computer `git clone https://github.com/renatoxm/nuxt-starter`
- Install dependencies `pnpm install --shamefully-hoist`
- Run `pnpm dev` to start development server and open `http://localhost:3000` in your browser
### Deploy as Static Site
- Run `pnpm generate` to build the project
- Serve `dist/` folder
Checkout the [deployment documentation](https://v3.nuxtjs.org/docs/deployment).
## Built-in Components
- [x] Footer
- [x] Button
- [x] Anchor (link)
- [x] Alert
- [x] Card
- [x] Action Sheet
- [x] Theme Toggle / Switcher
- [x] Navbar
- [x] Navbar Builder
- [x] Drawer (on mobile)
- [x] Options (on mobile)
- [x] Page Layout
- [x] Wrapper
- [x] Header
- [x] Title
- [x] Body
- [x] Section
- [x] Section Wrapper
- [x] Section Title
- [x] Dashboard Layout
- [x] Sidebar
- [x] Contact Form
- [ ] Modal
## Notes
### Nuxt Content
With Nuxt Content, you can just create markdown file (recommended) inside `content` folder.
But this is only available for SSR (Server Side Rendering) mode. Static mode still not working, you can see the issue https://github.com/nuxt/content/issues/1202
For now, you can follow
### Custom Workspace Snippets
This workspace including custom snippets for VSCode.
- **n3:content**
content template with markdown
- **n3:page**
page template
### Styles
Tailwindcss import managed by windicss.
and you can add custom styles in :
```css
/path/to/assets/sass/app.scss
```
### Localization
This project uses [nuxt/i18n](https://i18n.nuxtjs.org/) to translate links and content.
To add a new language, or change default language, you need to edit `nuxt.config.ts` and add a new locale in `locales` array.
```ts
// module::i18n
i18n: {
strategy: 'no_prefix',
defaultLocale: 'en',
langDir: 'locales',
detectBrowserLanguage: {
useCookie: true,
fallbackLocale: 'en',
redirectOn: 'root',
},
locales: [
{
code: 'en',
iso: 'en-US',
name: 'English',
file: 'en.yml',
flag: '🇺🇸',
},
... add other languages here!
],
},
```
You also need to add a locale `.yml` file in `./locales` and also ad them in `app.config.ts`
```ts
locales: {
en: {
name: 'English',
iso: 'en',
flag: '🇺🇸',
},
... add other locales
```
### Contact Form
In order to use the contact form component `LayoutPageContact`, you need to create a `.env` file and add your key to it. To get the access key, visit [Static Forms Website](https://www.staticforms.xyz) and follow the instructions. Then paste it in place of `YOR_ACCESS_KEY` like bellow.
```bash
# Contact form component your access key. Get yours here https://www.staticforms.xyz
ACCESS_KEY=YOUR_ACCESS_KEY
```
## License
This project is licensed under the MIT license, Copyright (c) 2023 Renato Nabinger. For more information see the [LICENSE](LICENSE.md) file.
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

laravel-nuxt
A Laravel-Nuxt starter kit.
Nuxt · 启动器

canvas
Portfolio template made with Nuxt 3, Nuxt Content v3, NuxtUI v3 and TailwindCSS v4
Nuxt · 作品集

nuxt3-starter
💚 A Better Nuxt 3 Starter Template,generate by nuxi.
Nuxt · 启动器

starter
Nuxt Starter Template for Nuxt UI.
Nuxt · 启动器

bloggrify
Run a blog from Markdown files. Themes, SEO, analytics, newsletter and comments preconfigured. Like Docus, but…
Nuxt · 博客

vitify-nuxt
🔽🏔 Vuetify + Nuxt Starter Template
Nuxt · 后台
