web-dev-qa-db-fra.com

'Le nom de fichier diffère du nom de fichier déjà inclus uniquement dans la casse' sur le chemin relatif avec la même casse

Erreur TS1149: Le nom de fichier "C: /Project/frontend/scripts/State.ts" diffère du nom de fichier déjà inclus "../frontend/scripts/State.ts" uniquement dans le boîtier.

J'ai vérifié le boîtier dans nos références et les fichiers réels ont également le bon boîtier. Pour autant que je sache, c'est uniquement parce que le chemin relatif utilise un boîtier incorrect, ou peut-être simplement à cause du chemin relatif lui-même?

Le truc, c'est qu'il compile très bien sur Mac et Linux, mais jette cette erreur sur Windows.

Si cela aide, forceConsistentCasingInFileNames est activé dans tsconfig, et nous utilisons tsify pour compiler.

13
zuddsy

La réponse était que nous utilisions tisfy 1.0.1, lorsque forceConsistentCasingInFileNames n'était pas pris en charge avant 4.0.0. La mise à jour a résolu le problème.

0
zuddsy

Dans mon cas, l'erreur était dans la déclaration d'importation. L'instruction d'importation avait une majuscule au lieu d'une petite lettre, qui fonctionnait pendant le développement dans Windows, mais pas lors de la compilation pour la production.

faux:

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

correct:

import {SomeClass} from '/some/path/someClass.ts';
16
Martin Åhlin

Changer "React" en "react" a fonctionné pour moi.

Incorrect:

import React from "React";

Correct:

import React from "react";
0
Shafqat Ali