Le guide de Dactylographie donne l'avertissement" Duplicate function implementation"
je commence avec le texte dactylographié et en ce moment je suis le Tapescript in 5 minutes guide. Je reçois un étrange avertissement en code Visual Studio quand je passe la souris au-dessus du greeter
nom de la fonction, comme indiqué dans l'image ci-dessous. L'alerte est:
[ts] Double fonction de mise en œuvre.
function accueil(personne: Personne): chaîne de caractères (+1 surcharge)
mais il n'y a pas d'autre implémentation de cette fonction unique dans mon seul fichier! Quand je run tsc greeter.ts
tout fonctionne très bien et le fichier js est généré.
complet greeter.ts
fichier:
interface Person {
firstName: string;
lastName: string;
}
function greeter(person: Person) {
return "Hello, " + person.firstName + " " + person.lastName;
}
var user = { firstName: "Jane", lastName: "User" };
console.log(greeter(user));
Pourquoi est-ce que je reçois cette Alerte? Comment le résoudre? J'ai pris un coup d'oeil à cette question, mais je crois que ce n'est pas lié.
3 réponses
on dirait que c'est un bug Dans Visual Studio Code. Il y a quelques problèmes sur GitHub à ce sujet, comme ici et ici. Les commentaires sur les questions impliquent qu'il s'agissait d'un problème, puis a été résolu, et vient tout juste de devenir un problème nouveau dans v1.12.1.
on dirait que la solution est d'exécuter tsc --init
pour initialiser le tsconfig.json
dans le dossier.
si vous avez à la fois le fichier src (dactylographié) et le fichier transpilé (javascript) dans le même répertoire et ouvrez le fichier javascript dans le code VS, alors vous obtiendrez l'erreur. Sortie du fichier transpilé dans un répertoire et il n'y aura pas d'erreur. Utilisez l'option --outDir drapeau:
tsc --outDir ./dist greeter.ts
Eu ce problème dans la version 1.26.1 de VS Code. La génération de la tsconfig.JSON file n'a pas fait disparaître l'erreur pour moi.
Quand on ouvre les deux fichiers.ts et le fichier transpilé.js file et do TSC, cette erreur se produit.
Veuillez fermer le fichier transpilé.js et essayez de nouveau.