为什么在我的 NestJS 项目中,TypeScript 构建文件是在 /dist 而不是 /dist/src 中生成的?

Why are TypeScript build files being generated in /dist instead of /dist/src in my NestJS project?

提问人:doodada 提问时间:11/16/2023 最后编辑:Drew Reesedoodada 更新时间:11/17/2023 访问量:24

问:

我在使用 TypeScript 的 NestJS 项目中遇到了构建配置问题。我希望 src 文件夹中的文件内置到 dist/src 中,但目前,所有文件都是直接在 dist 根目录中生成的。升级到 TypeScript 3.x 后开始出现此问题,而它在 TypeScript 2.x 中按预期工作。

以下是我的tsconfig.json和nest-cli.json配置:

{
  "compilerOptions": {
    "module": "commonjs",
    "declaration": true,
    "removeComments": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "allowSyntheticDefaultImports": true,
    "target": "es2017",
    "sourceMap": true,
    "outDir": "./dist",
    "baseUrl": "./",
    "incremental": true,
    "skipLibCheck": true,
    "strictNullChecks": false,
    "noImplicitAny": false,
    "strictBindCallApply": false,
    "forceConsistentCasingInFileNames": false,
    "noFallthroughCasesInSwitch": false,
  },
  "watchOptions": {
    "watchFile": "fixedPollingInterval",
    "watchDirectory": "useFsEvents",
    "fallbackPolling": "dynamicPriority",
    "synchronousWatchDirectory": true,
    "excludeDirectories": [
      "**/node_modules",
      "dist"
    ]
  }
}


{
  "$schema": "https://json.schemastore.org/nest-cli",
  "collection": "@nestjs/schematics",
  "sourceRoot": "src",
  "compilerOptions": {
    "deleteOutDir": true
  }
}

我尝试调整各种设置,但构建结果保持不变。这是否与 TypeScript 3 处理项目引用的方式或它转译到输出目录的方式有关?我正在寻找一种方法将我的 src 文件夹内容镜像到 dist/src 中,就像使用 TypeScript 2 一样。

有关如何配置 TypeScript 以实现此目的的任何见解或建议将不胜感激。谢谢!

节点.js 打字稿 nestjs

评论


答:

0赞 Yuvaraj M 11/16/2023 #1

只需更改outDirtsconfig.json

"outDir": "./dist/src",

您也可以使用命令行选项

tsc --outDir ./dist/src