Fichier app/héros.ts' n'est pas un module d'erreur dans la console, où stocker les interfaces dans la structure de répertoire avec angular2?
Je suis en train de faire la angular2
tutoriel à cette adresse : https://angular.io/docs/ts/latest/tutorial/toh-pt3.html j'ai mis le hero
interface dans un fichier unique en vertu de la app
dossier, dans la console, j'ai cette erreur:
app/app.component.ts(2,20): error TS2306: File 'app/hero.ts' is not a module.
[0] app/hero-detail.component.ts(2,20): error TS2306: File 'app/hero.ts' is not a module.
Si j'ai mis mon fichier d'interface dans l'un des héros de dossier de l'erreur disparait, ce n'est pas mentionné dans la documentation, quoi de mal avec mon importation ?
Mon directive d'importation (à l'beguining les fichiers de composant) dans les deux app.components.ts
et hero-detail.component.ts
:
import {Component} from 'angular2/core';
import {Hero} from './hero';
Dois-je remplacer mon directive d'importation par: import {Hero} from './';
ou il suffit de mettre le code dans un héros dossier ?
Merci pour vos réponses.
Vous devez vous connecter pour publier un commentaire.
Essayez de Redémarrer l'éditeur dans lequel vous écrivez le code(VS code ou Sublime).
Compiler et de l'Exécuter à nouveau. J'ai fait la même chose et ça a fonctionné.
Ce qui se passe lorsque vous ajoutez une nouvelle classe à l'extérieur de votre rédacteur en chef ou continuez à gérer votre angulaire de la cli "ng servir". En fait votre éditeur ou le " ng servir de la commande ne peut pas en mesure de trouver les fichiers nouvellement créés.
J'ai eu le même message d'erreur dans le même tutoriel, car je l'avais oublié le exportation mot-clé pour l'interface.
probablement vous avez oublié d'ajouter "Exporter" dans la définition de classe.
-->
Aussi, essayez avec
au bas de votre héros.ts de la classe, et enfin, de vérifier lettre majuscule nom de fichier et le nom de la classe.
const
?L'erreur parce que vous n'avez pas sauvegardé les fichiers après leur création.
Essayer de sauver tout le fichier en cliquant sur "Enregistrer Tout" sur l'Éditeur.
Vous pouvez voir le nombre de fichiers qui ne sont pas enregistrées par la recherche ci-dessous le menu "Fichier" démontré à l'aide de couleur bleue.
Redémarrage de mon
ng serve
processus a fonctionné pour moiPour les gens d'obtenir la même erreur sur stackblitz
Vous trouverez une Dépendance onglet sur la barre latérale gauche de l'IDE. Cliquez simplement sur le bouton actualiser à côté de lui et vous serez bon d'aller.
Comme je l'ai connu lorsque j'ajoute un nouveau fichier de mon projet, j'ai eu à arrêter et redémarrer le ng serveur.
Cette erreur est causée par failer de la
ng serve
servir pour récupérer automatiquement un nouveau fichier ajouté. Pour résoudre ce problème, il suffit de redémarrer votre serveur.Bien que la fermeture de la réouverture de l'éditeur de texte ou IDE permet de résoudre ce problème, beaucoup de gens ne veulent pas passer par tout le stress de la réouverture du projet. Pour Résoudre ce sans fermer l'éditeur de texte...
Dans le terminal où le serveur est en cours d'exécution,
ctrl+C
pour arrêter le serveur, puis,ng serve
Qui devrait fonctionner.
ng serve
fonctionne pour moi.Le tutoriel est de vous mettre tous les composants et l'interface de fichier dans le même répertoire d'où la relative à l'importation
'./hero'
si vous voulez le déplacer ailleurs vous avez besoin de changer cela.Edit: Le code peut continuer à travailler, mais le compilateur va se plaindre parce que vous tentez d'effectuer une importation à partir d'un emplacement incorrect. Je serais tout simplement modifier l'importation en fonction de votre structure. Par exemple:
Je voudrais simplement modifier l'importation de
import {Hero} from '../hero'
.import {Hero} from './';
ouimport {Hero} from './hero';
. Je me demande quelle est la meilleure façon de stocker les fichiers d'interface ?redémarrer ng servir
J'ai eu le même problème. Dans le but de trouver l'erreur, j'ai choisi l'erreur et l'a accidentellement fait un CTRL+C (ce qui signifie pour copier), qui s'est terminé ng servir. Sur le redémarrage de ng servir, l'erreur a disparu :). Parfois des fautes de frappe et de gros doigts aider 😉
Éditeur de problème. Lorsque vous créez de nouveaux fichiers que vous n'utilisez pas Angulaire de la CLI, assurez-vous que vous allez à Fichier > Enregistrer Tous (VS Code) pour permettre à l'Éditeur de vos modifications. Ensuite, exécutez "ng servir d'ouvrir" une nouvelle fois. Il a résolu le mien. Espérons que cela aide
J'ai rencontré le même problème en VSC. Avez redémarré l'éditeur et a commencé à nouveau l'application. Il a bien fonctionné.
J'ai trouvé que non seulement je dois redémarrer le Code de Visual Studio, mais le nœud de processus serveur en tant que bien avant que je puisse obtenir une bonne compilation.
J'ai fait face à un même problème.
J'ai redémarré mon serveur et ça fonctionne très bien. Semble comme un bug.
J'ai été confronté à la même question, essayé de redémarrer mon serveur, la réouverture de l'éditeur, mais le redémarrage de l'ordinateur ne la magie.
P. S: j'étais en face d'un problème sur une machine windows et le problème est survenu lorsque j'ai déménagé module dans un nouveau dossier.
J'ai eu un problème similaire. J'ai écrit héros au lieu de Héros
importer les suivants:
Parfois cette erreur se produit lorsque l' .ts fichier n'est pas enregistré. Donc, assurez-vous que tous les fichiers du projet sont enregistrés sinon, essayez de redémarrer l'éditeur.
Ouvrir l'invite de commandes, accédez au dossier app, par exemple
D:\angular-tour-of-heroes\src\app
Puis créer un nouveau fichier à l'aide de la commande suivante:
Cela va créer une
hero.ts
fichier. Vous pouvez ensuite coller le code d'exportation, et l'erreur a disparu.Vous devez enregistrer tous les fichiers. Par exemple html, css, d'un composant.ts, module, les fichiers de modèle. Ouvrir chaque fichier et appuyez sur ctrl-S. Cela a fonctionné pour moi
Dans mon cas, j'avais oublié d'enregistrer les modifications dans le fichier app/héros.ts', après l'enregistrement et le redémarrage de ng servir le problème a été résolu.
Ma Résolution,
Dans mon cas, j'ai créé un fichier de modèle, et l'a gardé vide,
alors, quand j'ai importé à un autre modèle, Il me donne l'erreur. afin d'écrire la définition lorsque vous créez un modèle de fichier d'enregistrement de fichier.
Je suis en utilisant angulaire 7. Je l'ai changé comme ci-dessous à l'intérieur de mon héros.ts fichier.
Note: j'ai mon nom de la classe réelle est différente et il était utilisé comme objet de valeur ou dto.