# Ecom **Repository Path**: houlonglong/ecom ## Basic Information - **Project Name**: Ecom - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-27 - **Last Updated**: 2026-06-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Ecom 基于 **pnpm + Turborepo** 的电商 Monorepo,包含管理后台、客户端商城与 NestJS 后端 API。 ## 技术栈 | 类别 | 技术 | |------|------| | 包管理 | [pnpm](https://pnpm.io/) 9 | | 构建编排 | [Turborepo](https://turbo.build/) | | 语言 | [TypeScript](https://www.typescriptlang.org/) | | 前端 | [Next.js](https://nextjs.org/) 15、React 19、Tailwind CSS 4 | | 后端 | [NestJS](https://nestjs.com/) 11 | | 代码规范 | ESLint、Prettier | ## 项目结构 ``` ecom/ ├── apps/ │ ├── admin/ # 管理后台(Next.js) │ ├── client/ # 客户端商城(Next.js) │ └── svervive/ # 后端 API(NestJS) ├── packages/ │ ├── eslint-config/ # 共享 ESLint 配置 │ └── typescript-config/ # 共享 TypeScript 配置 ├── package.json ├── pnpm-workspace.yaml └── turbo.json ``` ### 应用说明 | 应用 | 说明 | 开发端口 | |------|------|----------| | `admin` | 管理后台:用户、商品、订单、支付等 | 3003 | | `client` | 客户端商城:商品浏览、购物车、结算 | 3004 | | `svervive` | NestJS 后端 API | 3008(可通过 `PORT` 环境变量修改) | ### 共享包 - `@repo/eslint-config` — 全仓库 ESLint 配置 - `@repo/typescript-config` — 全仓库 TypeScript 配置(`base.json`、`nextjs.json` 等) ## 环境要求 - Node.js >= 18 - pnpm 9(推荐通过 Corepack 启用) ```bash corepack enable corepack prepare pnpm@9.0.0 --activate ``` ## 快速开始 ```bash # 克隆仓库后,在根目录安装依赖 pnpm install # 启动所有应用(并行) pnpm dev ``` ## 常用命令 在仓库根目录执行: | 命令 | 说明 | |------|------| | `pnpm dev` | 启动所有应用的开发模式 | | `pnpm build` | 构建所有应用 | | `pnpm lint` | 对所有应用执行 Lint | | `pnpm check-types` | 对所有应用做 TypeScript 类型检查 | | `pnpm format` | 使用 Prettier 格式化代码 | ### 单独运行某个应用 使用 pnpm 的 `--filter` 参数: ```bash # 只启动管理后台 pnpm --filter admin dev # 只启动客户端商城 pnpm --filter client dev # 只启动 NestJS 后端 pnpm --filter svervive dev ``` ### 访问地址(开发环境) - 管理后台:http://localhost:3003 - 客户端商城:http://localhost:3004 - 后端 API:http://localhost:3008 ## 开发说明 ### 路径别名 Next.js 应用(`admin`、`client`)使用 `@/*` 指向 `src/*`,需在各自 `tsconfig.json` 中配置: ```json { "compilerOptions": { "baseUrl": ".", "paths": { "@/*": ["./src/*"] } } } ``` ### NestJS 配置 `svervive` 继承 `@repo/typescript-config/base.json`,不要使用 `nextjs.json`(后者含 Next.js 专用选项,会导致 Nest 构建异常)。 ### 环境变量 各应用可在自身目录下创建 `.env` 或 `.env.local`。Turborepo 的 `build` 任务会将 `.env*` 纳入缓存输入,修改环境变量后建议重新构建。 ## 许可证 私有项目,未经授权请勿分发。