TypeScript在重建时创建嵌套的构建文件夹



当我尝试重建项目时,TS不知何故认为构建文件夹内的文件也有要编译.它不尊重tsconfig.json文件

中的rootDir

属性。这是我的tsconfig.json

{
"compilerOptions": {
"target": "es2020",
"module": "commonjs",
"allowJs": true,
"removeComments": true,
"strict": true,
"declaration": true,
"declarationMap": true,
"baseUrl": "./app",
"outDir": "./build",
"rootDir": "./app",
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true
}
}

目录结构

server
├── app
│   ├── models
│   └── routes
│       └── index.ts
├── server.ts
├── build
├── Dockerfile
├── node_modules
├── package.json
├── package-lock.json
└── tsconfig.json

这是第一个构建

build
├── routes
│   ├── index.d.ts
│   ├── index.d.ts.map
│   └── index.js
├── server.d.ts
├── server.d.ts.map
└── server.js

这是第二个版本

build
├── app
│   ├── routes
│   │   ├── index.d.ts
│   │   ├── index.d.ts.map
│   │   └── index.js
│   ├── server.d.ts
│   ├── server.d.ts.map
│   └── server.js
├── build
│   ├── routes
│   │   ├── index.d.ts
│   │   ├── index.d.ts.map
│   │   └── index.js
│   ├── server.d.ts
│   ├── server.d.ts.map
│   └── server.js
├── routes
│   ├── index.d.ts
│   ├── index.d.ts.map
│   └── index.js
├── server.d.ts
├── server.d.ts.map
└── server.js

问题是我没有提到include属性!

compilerOptions之后添加"include": ["./app/**/*"]可以解决此问题。

最新更新