TypeScript项目多源码目录下如何配置rootDir与outDir?
TypeScript rootDir 与 outDir 配置指导
针对你新的目录结构,需要调整tsconfig.json的相关配置,具体如下:
核心配置说明
rootDir:设置为项目根目录
./
你的源码现在分散在Redlof和Engine两个同级目录下,rootDir需要指向这两个目录的共同父目录(即项目根目录),这样TypeScript编译时会完整保留原有的目录层级,避免产物结构混乱。outDir:保持设置为
./dist
编译后的JS文件会统一输出到dist目录下,且自动还原Redlof和Engine的目录结构。比如Redlof/index.ts会编译为dist/Redlof/index.js,Engine/Middlewares/xxx.ts会编译为dist/Engine/Middlewares/xxx.js。
完整配置片段示例
{ "compilerOptions": { "rootDir": "./", "outDir": "./dist", // 其他编译选项可根据项目需求调整 "target": "ESNext", "module": "CommonJS", "strict": true }, "include": [ "Redlof/**/*", "Engine/**/*" ], "exclude": [ "node_modules", "dist" ] }
关键注意点
- 必须通过
include明确指定要编译的源码目录,否则TypeScript会默认编译根目录下所有.ts文件,可能包含不需要的文件。 exclude配置要排除node_modules和dist,避免重复编译或编译无关文件。
内容的提问来源于stack exchange,提问作者Abby
相关产品推荐
相关产品推荐

