1326 字
7 分钟
项目创建流程
前端项目创建流程速查表
背景
在前端开发中,不同的技术栈,项目创建流程也不同。增加我的心智负担。本文整理了主流技术栈的统一创建流程,帮助快速启动项目。
🎯 通用创建流程
无论选择哪种技术栈,都遵循以下通用步骤:
1. 环境准备
# 检查 Node.js 版本(推荐 18+)node --version
# 检查包管理器npm --version # 或 yarn --version 或 pnpm --version2. 项目创建
# 使用官方脚手架创建项目<official-cli> create <project-name>
# 进入项目目录cd <project-name>
# 安装依赖npm install # 或 yarn 或 pnpm install
# 启动开发服务器npm run dev # 或 yarn dev 或 pnpm dev3. 项目配置
- 🔧 配置开发工具(ESLint、Prettier)
- 📁 调整目录结构
- ⚙️ 设置环境变量
- 📝 编写 README.md
📦 主流技术栈创建命令
React 生态系统
Create React App (CRA)
# 创建项目npx create-react-app my-appcd my-appnpm start
# TypeScript 版本npx create-react-app my-app --template typescriptVite + React
# 创建项目npm create vite@latest my-react-app -- --template reactcd my-react-appnpm installnpm run dev
# TypeScript 版本npm create vite@latest my-react-app -- --template react-tsNext.js
# 创建项目npx create-next-app@latest my-nextjs-appcd my-nextjs-appnpm run dev
# 带 TypeScriptnpx create-next-app@latest my-nextjs-app --typescript
# 带 App Routernpx create-next-app@latest my-nextjs-app --appVue 生态系统
Vue CLI
# 安装 CLI(全局)npm install -g @vue/cli
# 创建项目vue create my-vue-appcd my-vue-appnpm run serveVite + Vue
# 创建项目npm create vue@latest my-vue-appcd my-vue-appnpm installnpm run devNuxt.js
# 创建项目npx nuxi@latest init my-nuxt-appcd my-nuxt-appnpm installnpm run devAngular 生态系统
Angular CLI
# 安装 CLI(全局)npm install -g @angular/cli
# 创建项目ng new my-angular-appcd my-angular-appng serve其他流行框架
Svelte
# SvelteKit(推荐)npm create svelte@latest my-svelte-appcd my-svelte-appnpm installnpm run dev
# 经典 Sveltenpx degit sveltejs/template my-svelte-appcd my-svelte-appnpm installnpm run devAstro
# 创建项目npm create astro@latest my-astro-appcd my-astro-appnpm installnpm run dev
# 使用模板npm create astro@latest my-astro-app -- --template blogRemix
# 创建项目npx create-remix@latest my-remix-appcd my-remix-appnpm installnpm run devSolid.js
# 创建项目npx degit solidjs/templates/js my-solid-appcd my-solid-appnpm installnpm run dev
# TypeScript 版本npx degit solidjs/templates/ts my-solid-app🛠️ 构建工具对比
| 工具 | 特点 | 适用场景 | 创建命令 |
|---|---|---|---|
| Vite | ⚡ 极速启动 | 现代项目首选 | npm create vite@latest |
| Webpack | 🔧 高度配置 | 复杂项目配置 | 集成在各框架CLI中 |
| Parcel | 🎯 零配置 | 快速原型 | npx parcel index.html |
| Rollup | 📦 库开发 | 组件库打包 | 手动配置 |
🎨 CSS 方案选择
Tailwind CSS
# Vite 项目npm install -D tailwindcss postcss autoprefixernpx tailwindcss init -p
# Next.js 自动配置npx create-next-app@latest my-app -- --tailwindStyled Components
# Reactnpm install styled-componentsnpm install --save-dev @types/styled-componentsCSS Modules
# 大多数脚手架默认支持# 文件命名:Component.module.css📋 项目配置模板
package.json 脚本标准化
{ "scripts": { "dev": "启动开发服务器", "build": "构建生产版本", "preview": "预览生产版本", "test": "运行测试", "lint": "代码检查", "format": "代码格式化" }}环境变量配置
NEXT_PUBLIC_API_URL=http://localhost:3001DATABASE_URL=postgresql://...
# .env.example(提交到版本控制)NEXT_PUBLIC_API_URL=your_api_url_hereDATABASE_URL=your_database_url_hereGit 配置
# 初始化 Gitgit initgit add .git commit -m "feat: initial commit"
# 添加远程仓库git remote add origin https://github.com/username/repo.gitgit push -u origin main🔧 开发工具配置
ESLint + Prettier
# 安装依赖npm install --save-dev eslint prettier eslint-config-prettier
# 配置文件echo '{"extends": ["next", "prettier"]}' > .eslintrc.jsonecho '{"semi": true, "singleQuote": true, "trailingComma": "es5"}' > .prettierrcTypeScript
# 添加到现有项目npm install --save-dev typescript @types/node
# 生成配置文件npx tsc --initHusky + lint-staged
# 安装npm install --save-dev husky lint-staged
# 配置 Git hooksnpx husky-init && npm install🚀 部署配置速查
Vercel
# 安装 CLInpm install -g vercel
# 部署vercel --prodNetlify
# 安装 CLInpm install -g netlify-cli
# 部署netlify deploy --prodGitHub Pages
name: Deploy to GitHub Pageson: push: branches: [ main ]jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 - run: npm install - run: npm run build - uses: peaceiris/actions-gh-pages@v3 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./dist📊 技术选型决策树
想要选择合适的技术栈?遵循以下决策路径:
- 静态网站 → Astro、Next.js (SSG)
- SPA 应用 → React/Vue + Vite
- 全栈应用 → Next.js、Nuxt.js
- 快速原型 → Vite + 任何框架
- 企业级 → Angular、React + 成熟生态
🎯 最佳实践总结
✅ 推荐做法
- 统一包管理器:项目内保持一致(npm/yarn/pnpm)
- 版本锁定:提交
package-lock.json或pnpm-lock.yaml - 环境隔离:使用
.env文件管理环境变量 - 代码规范:配置 ESLint + Prettier + Husky
- 类型安全:优先选择 TypeScript
⚠️ 避免的坑
- 全局依赖冲突:避免全局安装过多CLI工具
- 版本不一致:团队统一 Node.js 和包管器版本
- 配置过度:初期保持简单,按需添加配置
- 缓存问题:遇到奇怪问题先清除
node_modules
🔖 快速参考
最常用的创建命令
# React 项目(推荐)npm create vite@latest my-app -- --template react-ts
# Vue 项目(推荐)npm create vue@latest my-app
# Next.js 项目(推荐)npx create-next-app@latest my-app --typescript
# Astro 项目(推荐)npm create astro@latest my-app一键创建脚本
#!/bin/bashecho "选择技术栈:"echo "1) React (Vite)"echo "2) Vue (Vite)"echo "3) Next.js"echo "4) Nuxt.js"echo "5) Astro"
read -p "输入选择 (1-5): " choiceread -p "项目名称: " project_name
case $choice in 1) npm create vite@latest $project_name -- --template react-ts ;; 2) npm create vue@latest $project_name ;; 3) npx create-next-app@latest $project_name --typescript ;; 4) npx nuxi@latest init $project_name ;; 5) npm create astro@latest $project_name ;; *) echo "无效选择" ;;esac
echo "项目创建完成!"echo "下一步: cd $project_name && npm install && npm run dev"📚 延伸阅读
通过这个速查表,您可以快速在不同技术栈间切换,大大减少记忆负担,专注于核心开发工作!🚀