咨询NX单体仓库(monorepo)中编译代码的存储位置
NX Monorepo 构建输出文件位置说明
NX 默认会接管库项目的构建输出路径,不会使用你在库的tsconfig.json中指定的outDir配置,这就是你找不到指定路径文件的原因。以下是具体说明:
默认输出位置:
库项目构建后的文件默认会输出到工作区根目录的dist/<你的库名称>文件夹下。比如你的库名为shared-components,编译后的.js、.d.ts等文件都会在dist/shared-components里,同时还会包含生成的package.json、README等文件。查看实际输出路径的方法:
- 执行构建命令
nx build <你的库名>时,终端日志会直接显示Output directory: dist/xxx,这里的路径就是实际输出位置。 - 打开库项目根目录的
project.json文件,找到targets.build.options.outputPath字段,该字段的值就是NX实际使用的输出路径。
- 执行构建命令
为什么
tsconfig.json的outDir不生效?
NX的构建器(比如@nx/js:tsc、@nx/angular:package等)在执行时,会自动生成临时的TypeScript配置文件,重写outDir为NX指定的路径,因此你手动设置的outDir会被覆盖。自定义输出路径的方式:
如果你想修改输出位置,直接修改库项目project.json里的targets.build.options.outputPath即可,比如改成dist/custom-output/<你的库名>,构建后文件就会输出到这个自定义路径,无需修改tsconfig.json的outDir。
内容的提问来源于stack exchange,提问作者Cola_Colin
相关产品推荐
相关产品推荐

