本项目开发文档,包含本地开发环境搭建和配置说明。
- Node.js (推荐使用 v18 或更高版本)
- pnpm (包管理工具)
如果你还没有安装 pnpm,可以使用以下方法安装:
使用 npm 安装:
npm install -g pnpm使用 Homebrew 安装(macOS):
brew install pnpm验证安装:
pnpm --version- 克隆项目后,首先安装依赖:
pnpm install- 配置环境变量:
将 .env.example 文件复制为 .env:
cp .env.example .env在 .env 文件中配置以下必要的环境变量:
NUXT_OPENAI_BASE_URL: OpenAI API 的基础 URLNUXT_OPENAI_API_KEY: OpenAI API 密钥NUXT_OPENAI_MODEL: 使用的模型名称SECRET_KEY: 应用程序密钥
使用提供的开发脚本启动项目:
./dev.sh这将启动开发服务器,你可以在浏览器中访问应用。
主要目录结构:
pages/: 页面组件components/: 可复用组件server/: 服务器端 API 接口constants/: 常量定义middleware/: 中间件
- 确保所有敏感信息(如 API 密钥)都配置在
.env文件中,且不要提交到版本控制系统 - 开发时请遵循项目既定的代码规范和提交规范
-
Fork 本项目到你的 GitHub 账号
-
在 Vercel 中导入项目:
- 登录 Vercel
- 点击 "New Project"
- 选择你 fork 的仓库
- Framework Preset 选择 "Nuxt"
-
配置环境变量:
- 在项目设置中找到 "Environment Variables" 部分
- 添加
.env文件中的所有环境变量
-
点击 "Deploy" 开始部署
-
Fork 本项目到你的 GitHub 账号
-
在 Cloudflare Pages 中创建新项目:
- 登录 Cloudflare Dashboard
- 进入 Pages 部分
- 点击 "Create a project"
- 选择你 fork 的仓库
- Framework preset 选择 "Nuxt"
-
环境变量配置:
- 在 "Environment variables" 部分
- 添加
.env文件中的所有必要环境变量 - 确保变量在生产环境(Production)和预览环境(Preview)都已配置
-
点击 "Save and Deploy" 开始部署
- 确保在部署平台上正确配置了所有环境变量
- 如果使用自定义域名,需要在相应平台配置域名设置
- 建议先在预览环境测试,确认无误后再部署到生产环境
项目的主要配置文件是 nuxt.config.ts,以下是一些重要配置项的说明:
在 app.head 中配置网站的基本信息:
app: {
head: {
title: '网站标题',
titleTemplate: '%s - 副标题',
meta: [
{ charset: 'utf-8' },
{ name: 'description', content: '网站描述' },
// ... 其他 meta 标签
]
}
}-
将你的 favicon 文件放在
public目录下,需要准备以下文件:favicon.icofavicon-32x32.pngfavicon-16x16.pngapple-touch-icon.png(180x180)android-chrome-512x512.png(用于 Open Graph)
-
在
nuxt.config.ts的app.head.link中配置:
link: [
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' },
{ rel: 'icon', type: 'image/png', sizes: '32x32', href: '/favicon-32x32.png' },
{ rel: 'icon', type: 'image/png', sizes: '16x16', href: '/favicon-16x16.png' },
{ rel: 'apple-touch-icon', sizes: '180x180', href: '/apple-touch-icon.png' },
]在 .env 文件中设置 NUXT_PUBLIC_SITE_URL 环境变量:
NUXT_PUBLIC_SITE_URL=https://your-domain.com
这个值会被配置到 runtimeConfig.public.siteUrl 中,可以在应用中通过以下方式访问:
const config = useRuntimeConfig()
const siteUrl = config.public.siteUrl在 app.head.script 中可以添加第三方脚本,比如统计代码等:
script: [
{
children: `(function() { /* 第三方脚本代码 */ })()`,
type: 'text/javascript'
}
]ssr: false: 完全禁用服务端渲染,使用纯客户端渲染modules: 项目使用的 Nuxt 模块runtimeConfig: 运行时配置,包含环境变量等nitro: 服务端相关配置experimental: 实验性功能配置