TypeScript错误:无法写入文件“index.d.ts”,因为它将覆盖输入文件
我在运行tsc时遇到问题 my tsconfig.json: 此问题在以下情况下得到解决: 排除tsconfig中的index.ts 运行tsc index.ts 在tsconfig中关闭声明 将索引重命名为其他名称! 在package.json中更改typescript主文件时,我也遇到了同样的问题 例如:将index.ts重命名为foo.ts 将package.json更改为 tsc错误:TypeScript错误:无法写入文件“index.d.ts”,因为它将覆盖输入文件,typescript,Typescript,我在运行tsc时遇到问题 my tsconfig.json: 此问题在以下情况下得到解决: 排除tsconfig中的index.ts 运行tsc index.ts 在tsconfig中关闭声明 将索引重命名为其他名称! 在package.json中更改typescript主文件时,我也遇到了同样的问题 例如:将index.ts重命名为foo.ts 将package.json更改为 tsc错误: error TS5055: Cannot write file 'index.d.ts' becaus
error TS5055: Cannot write file 'index.d.ts' because it would overwrite input file.
无论文件内容如何,任何代码内容都有相同的问题
我能做些什么来修理它
源代码:
提前感谢您。在您的示例文件夹中,您从“../”编写了导入*作为测试 看 它应该加载index.ts、index.d.ts或package.json类型字段。 这就是问题所在。您的package.json确实指出index.d.ts是此包的定义文件,请参阅 因此,从“../”导入*作为测试将加载package.json、加载typings字段,然后加载index.d.ts,这会导致问题 两种解决方案 建议采用导入索引文件而不是根文件夹的方法 e、 g.从“../index”导入*作为测试;或者 将输出移动到其他文件夹,例如\lib\index.d.ts
在这两种解决方案中,您都应该加载目标文件,而不是文件夹。由于您不再加载根文件夹,问题将得到解决。我也遇到了同样的问题,修复起来非常简单。我删除了node_模块,然后删除了typings文件夹 在package.json中,我在
scripts: {
...
"tsc": "tsc",
"typings": "typings"
...
}
然后运行命令:
npm安装
npm运行tsc
npm运行打字安装
也许更好的方法是从构建中排除目标目录。该键在outDir和exclude键中包含相同的目录:
非常感谢其他人的回答,但对我来说,这个问题更简单、更愚蠢。我让WebStorm为我选择了最好的导入语句,但忽略了它包含了dist目录中的一个文件,这就是我的输出设置
一旦找到原因,错误就更有意义了,因为它确实试图写入用作输入的输出文件。我在tsconfig temporary中排除index.ts以解决此问题,并在index.ts更改时单独运行tsc index.ts!:也许您在代码中的某个地方引用了index.d.ts,然后在编译时,编译器认为index.d.ts是源代码的一部分,因此抛出该错误。只是一个想法。如果你没有声明编译会发生什么:真的?你的意思是什么?你的评论没有得分,但你是对的,我不知道答案,但我在问问题/提出建议,以尝试帮助你解决问题或找到解决问题的方法,直到问题得到解决。不客气。outDir可以与问题相关,因为它将源代码与输出分开,然后它不应该抱怨在源文件上写入内容,也许,只是一个想法,但也许它不会工作,该死,不会得到我的宝贵意见。链接断了,你最好复制使用它的代码片段URLs@Al-谢谢你,我更新了链接,正如您所见,我编写了代码,并链接源代码以获取更多信息
"typescript": {
"main": "foo.ts"
}
error TS5055: Cannot write file 'index.d.ts' because it would overwrite input file.
scripts: {
...
"tsc": "tsc",
"typings": "typings"
...
}
{
"compilerOptions": {
"module": "commonjs",
"target": "es6",
"noImplicitAny": false,
"sourceMap": true,
"experimentalDecorators": true,
"outDir": "target",
"declaration": true
},
"exclude": [
"node_modules",
"target"
]
}