错误TS1149:文件名'C:/Project/frontend/scripts/State.ts'仅与大小写字母不同,已经不同于已包含的文件名'../ frontend / scripts / State.ts'。
我已经三遍检查了引用中的大小写,实际文件中的大小写也正确。据我所知,这仅仅是因为相对路径使用了不正确的大小写,还是仅由于相对路径本身?
问题是,它在Mac和Linux上编译正常,但在Windows上抛出此错误。
如果有帮助,则在tsconfig中启用forceConsistentCasingInFileNames
,我们正在使用tsify进行编译。
答案 0 :(得分:15)
对我来说,问题是在文件从someFile.ts
快速重命名为SomeFile.ts
时发生的。重新启动我的IDE(Visual Studio代码)使警告消失了。
答案 1 :(得分:4)
就我而言,错误是在import语句中。导入声明使用大写字母而不是小写字母,该字母在Windows中的开发过程中有效,但在编译生产时则无效。
错误:
import {SomeClass} from '/some/path/SomeClass.ts';
正确:
import {SomeClass} from '/some/path/someClass.ts';
答案 2 :(得分:4)
好的,只需要在这里也输入我的“解决方案”,因为它与其他解决方案不同。错误消息清楚地说明了它在哪里看到错误。它是已重命名的目录的外壳(从 Utils -> utils)。即使它在任何地方都正确重命名,我仍然遇到错误。我的解决方案是再次将其重命名(为什么不,呵呵)为 utils2。之后就正常了
答案 3 :(得分:3)
我的是一个vue问题,我删除了.vue扩展名,它起作用了
答案 4 :(得分:3)
这是我的网络流 IDE 中发生的连线错误,
解决:
rename your file (not component) to another name and once again back to your original name.
它在我的情况下修复了。
答案 5 :(得分:1)
当两个文件存在于同一个文件夹中且名称如a.tsx和A.tsx时,您将收到此错误
答案 6 :(得分:1)
重新启动VS Code IDE对我不起作用,我也不想更改配置文件。这些是对我来说解决此问题的步骤:
在VS Code中一定是某种缓存问题
答案 7 :(得分:0)
答案是我们使用的是tisfy 1.0.1,当时直到4.0.0才支持forceConsistentCasingInFileNames
。更新解决了该问题。
答案 8 :(得分:0)
将“反应”更改为“反应”对我有用。
不正确:
import React from "React";
正确:
import React from "react";
答案 9 :(得分:0)
您需要禁用"forceConsistentCasingInFileNames"
文件中的tsconfig.json
。
所以你应该有这样的东西:
{
"compilerOptions": {
...
"forceConsistentCasingInFileNames": false,
...
}
}
答案 10 :(得分:0)
再次编写导入对我有用。
答案 11 :(得分:0)
删除 .vue 扩展名就可以了
答案 12 :(得分:0)
如果没有任何效果,请尝试:
yarn
或 npm i
再次获取您的 node_modules重命名文件或重新启动没有帮助。在重命名文件并让 Vetur 执行导入操作后,错误开始。