当打字稿编译器尝试从库输出文件夹中包含*.d.ts
个文件,然后构建失败,因为它无法重写这些文件时,我遇到了问题。显然,由于package.json
中的以下配置而包含了文件:
"main": "lib/index.js",
"typings": "lib/index.d.ts",
在tsconfig.json
中,我设置了输出文件夹以及其他可能与这种情况无关的其他配置。
"compilerOptions": {
"outDir": "./lib"
},
问题本身是当我运行tsc --listFiles
时,我看到包含输出文件夹中的文件:
...
<project-root>/lib/contracts/index.d.ts
<project-root>/lib/profiler/profile-request.d.ts
<project-root>/lib/profiler/profile-response.d.ts
<project-root>/lib/profiler/index.d.ts
<project-root>/lib/config/elastic.config.d.ts
...
后来导致错误:
error TS5055: Cannot write file '<project-root>lib/config/app.config.d.ts' because it would overwrite input file.
...
这是打字稿编译器在其中包含文件的预期行为吗? 场景?
我是否应该从main / typings
中删除package.json
的配置?建议在文档Publishing