TypeScript Monorepo 项目教程
1. 项目的目录结构及介绍
TypeScript Monorepo 项目的目录结构如下:
ts-monorepo/
├── apps/
│ └── ...
├── packages/
│ └── ...
├── package.json
├── pnpm-workspace.yaml
├── tsconfig.json
└── ...
apps/
:存放可执行的应用程序。packages/
:存放可发布的 npm 包。package.json
:定义项目依赖和脚本。pnpm-workspace.yaml
:配置 pnpm 工作区。tsconfig.json
:TypeScript 编译配置文件。
2. 项目的启动文件介绍
项目的启动文件通常位于 apps/
目录下,例如 apps/my-app/src/index.ts
。启动文件负责初始化应用程序并启动服务。
示例启动文件内容:
import { startServer } from 'my-app-core';
startServer();
3. 项目的配置文件介绍
package.json
package.json
文件定义了项目的依赖、脚本和其他元数据。
示例内容:
{
"name": "ts-monorepo",
"version": "1.0.0",
"scripts": {
"start": "ts-node -r tsconfig-paths/register src/index.ts"
},
"dependencies": {
"ts-node": "^10.0.0",
"tsconfig-paths": "^3.12.0"
}
}
tsconfig.json
tsconfig.json
文件定义了 TypeScript 编译选项。
示例内容:
{
"compilerOptions": {
"target": "ESNext",
"module": "CommonJS",
"outDir": "./dist",
"rootDir": "./src",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true
},
"include": ["src/**/*"]
}
pnpm-workspace.yaml
pnpm-workspace.yaml
文件配置了 pnpm 工作区。
示例内容:
packages:
- 'packages/*'
- 'apps/*'
以上是 TypeScript Monorepo 项目的基本教程,涵盖了项目的目录结构、启动文件和配置文件的介绍。