'Имя файла отличается от уже включенного имени файла только в корпусе' по относительному пути с одинаковым корпусом

Ошибка TS1149: Имя файла "C: /Project/frontend/scripts/State.ts" отличается от уже включенного имени файла "../frontend/scripts/State.ts" только в корпусе.

Я трижды проверил обсадную колонну в наших ссылках, и в реальных файлах также есть правильный корпус. Насколько я могу судить, это происходит только потому, что относительный путь использует неправильную оболочку или, возможно, только из-за относительного пути?

Дело в том, что он отлично компилируется на Mac и Linux, но вызывает эту ошибку в Windows.

Если это помогает, forceConsistentCasingInFileNames включается в tsconfig, и мы используем tsify для компиляции.

Ответы

Ответ 1

Ответ заключался в том, что мы использовали tisfy 1.0.1, когда forceConsistentCasingInFileNames не поддерживался до 4.0.0. Обновление исправлено.

Ответ 2

В моем случае ошибка была в операторе импорта. Оператор импорта имел заглавную букву вместо маленькой буквы, которая работала во время разработки в Windows, но не при компиляции для производства.

неправильно:

import {SomeClass} from '/some/path/SomeClass.ts';

правильный:

import {SomeClass} from '/some/path/someClass.ts';

Ответ 3

Эта ошибка по-прежнему сохраняется даже с плагином tsify. Последний VSCode

Ответ 4

Изменение "Реагировать" на "реагировать" сработало для меня.

Неправильно:

import React from "React";

Correct:

import React from "react";