当前位置: 首页 > news >正文

Next.js项目MindAI教程 - 第一章:环境准备与项目初始化

1. 开发环境准备

1.1 Node.js安装

# 检查是否已安装Node.js
node -v
npm -v

# 如果未安装,访问 https://nodejs.org 下载安装包
# 建议安装LTS版本(当前为18.x或20.x)

1.2 配置npm镜像(国内用户推荐)

# 设置淘宝镜像
npm config set registry https://registry.npmmirror.com

# 或安装cnpm
npm install -g cnpm --registry=https://registry.npmmirror.com

2. 创建Next.js项目

2.1 使用create-next-app创建项目

npx create-next-app@latest my-next-app

# 在创建过程中,你会看到以下选项:
√ Would you like to use TypeScript? ... yes   # 使用TypeScript
√ Would you like to use ESLint? ... yes      # 使用ESLint
√ Would you like to use Tailwind CSS? ... yes # 使用Tailwind CSS
√ Would you like to use `src/` directory? ... yes # 使用src目录
√ Would you like to use App Router? ... yes  # 使用App Router
√ Would you like to customize the default import alias (@/*)? ... yes # 自定义导入别名

2.2 安装必要的依赖

cd my-next-app

# 安装开发依赖
npm install --save-dev @types/node @types/react @types/react-dom

# 安装项目依赖
npm install @prisma/client zustand @headlessui/react @heroicons/react chart.js react-chartjs-2 date-fns

3. 项目结构设置

3.1 创建基础目录结构

mkdir -p src/{app,components,lib,hooks,services,styles,types}

3.2 目录结构说明

src/
├── app/          # Next.js 13+ App Router页面
├── components/   # React组件
├── lib/          # 工具函数和配置
├── hooks/        # 自定义React Hooks
├── services/     # API服务
├── styles/       # 样式文件
└── types/        # TypeScript类型定义

4. 基础配置文件设置

4.1 TypeScript配置

// tsconfig.json
{
  "compilerOptions": {
    "target": "es5",
    "lib": ["dom", "dom.iterable", "esnext"],
    "allowJs": true,
    "skipLibCheck": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "noEmit": true,
    "esModuleInterop": true,
    "module": "esnext",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "jsx": "preserve",
    "incremental": true,
    "plugins": [
      {
        "name": "next"
      }
    ],
    "paths": {
      "@/*": ["./src/*"]
    }
  },
  "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
  "exclude": ["node_modules"]
}

4.2 Next.js配置

// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
  reactStrictMode: true,
  images: {
    domains: ['localhost'],
  },
  experimental: {
    serverActions: true,
  },
}

module.exports = nextConfig

5. Git版本控制设置

5.1 初始化Git仓库

git init

5.2 配置.gitignore文件

# .gitignore
# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage

# next.js
/.next/
/out/

# production
/build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# local env files
.env*.local
.env

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts

6. 创建初始页面

6.1 修改首页

// src/app/page.tsx
export default function Home() {
  return (
    <div className="p-8">
      <h1 className="text-3xl font-bold">欢迎来到MindAI</h1>
      <p className="mt-4 text-gray-600">
        智能心理健康服务平台
      </p>
    </div>
  )
}

6.2 创建布局文件

// src/app/layout.tsx
import './globals.css'
import type { Metadata } from 'next'

export const metadata: Metadata = {
  title: 'MindAI - 智能心理健康服务平台',
  description: '基于AI技术的现代化心理健康服务平台',
}

export default function RootLayout({
  children,
}: {
  children: React.ReactNode
}) {
  return (
    <html lang="zh-CN">
      <body className="min-h-screen bg-gray-50">{children}</body>
    </html>
  )
}

7. 启动和测试

7.1 运行开发服务器

npm run dev

7.2 访问测试

打开浏览器访问 http://localhost:3000 查看结果

8. 下一步计划

  • 实现基础UI组件
  • 设置Tailwind CSS主题
  • 创建导航系统
  • 规划页面路由

相关文章:

  • 硬件与软件的边界-从单片机到linux的问答详解
  • python速通小笔记-------1.容器
  • 全网第一提出:WIFI 透传串口模块都可以用于px4连接QGC上位机调试。
  • 论Linux进程间通信
  • Lora本地微调实战 --deepseek-r1蒸馏模型
  • 校园安全用电怎么保障?防触电装置来帮您
  • [C语言基础] 第1章 程序设计与C语言
  • ImGui 学习笔记(四)—— 实现每窗口背景色
  • DQN 玩 2048 实战|第一期!搭建游戏环境(附 PyGame 可视化源码)
  • 洛谷 P2801 教主的魔法 题解
  • Vulkan视频解码decode显示display之同步
  • 贪吃蛇小游戏-简单开发版
  • 【大模型基础_毛玉仁】2.4 基于 Encoder-Decoder 架构的大语言模型
  • AI芯片设计
  • Web3到底解决了什么问题?
  • Android 数据持久化之 SharedPreferences 存储
  • 稳定运行的以Oracle数据库为数据源和目标的ETL性能变差时提高性能方法和步骤
  • 压敏电阻结构特点及选型指南
  • WebRTC中音视频服务质量QoS之RTT衡量网络往返时延的加权平均RTT计算机制‌详解
  • Spring Boot应用首次请求性能优化实战:从数据库连接池到JVM调优
  • 董军同德国国防部长举行会谈
  • 北方产粮大省遭遇气象干旱,夏粮用水如何解决?
  • 坚持吃素,是不是就不会得高血脂了?
  • 与总书记交流的上海人工智能实验室年轻人,在探索什么前沿领域?
  • 女外交官郑璇已任中国驻莫桑比克大使
  • “远践”项目启动公益生态圈,上海青少年公益力量蓬勃生长