8
votes

AngulaireFire2: Impossible de trouver l'espace de noms "Firebase"

J'essaie de construire une application NG2 avec une feux angulaire. Après le QuickStart, je reçois l'erreur suivante:

cannot find namespace 'firebase'


0 commentaires

5 Réponses :


1
votes

Il semble que ce bug ait déjà été signalé et (espérons-le) être travaillé. Vérifiez ici ici:

https://github.com/angular/angularfire2/issues/461 << / p>

Certaines personnes ont eu le succès de modifier des typages.json (suppression de dépendcy to feubase) ou d'installer la version @Next de Typescript. Personnellement, je suis bloqué avec la même erreur actuellement.

J'espère que le bug devient éventuellement corrigé (bientôt;))

Edit: On dirait que le «bogue» était une combinaison de plusieurs dépendances qui devaient être juste. En fin de compte, j'ai eu un chemin défini sur le point sur un ancien TSC Installation sous Fichiers du programme . Pour une raison quelconque, cela a été utilisé à la place du (préféré) à partir du package de nœud dossier .


1 commentaires

Eh bien ça craint ... Dommage qu'il n'y ait pas de solution à 100%. Merci beaucoup pour vos enquêtes et l'aide hier!



3
votes

Cela fonctionne comme décrit dans Le problème .

TSCONFIG.JSON:

"Types": [ "jasmin", "Firebase" ]

ne peut pas croire qu'il est si facile de réparer.


14 commentaires

Cela n'a pas fonctionné pour moi cependant ... Quelle version de TypeScript utilisez-vous?


Version 2.1.0-Dev.20160826


Ouais même version pour moi - Qu'en est-il de TSC -V Quelle version fait ce rapport?


Vraiment? Je ne peux pas sembler obtenir cela pour montrer quoi que ce soit que version 1.0.3.0 ?


Essayez de mettre à jour globalement et localement: NPM install -g dacty-g @ Next NPM INSTALL TYPESTRESSEMMENT @ NEXT --SAVE-Dev


Cela ne semble pas avoir d'impact sur la commande tc . Peut-être que mon TSC pointe vers une version plus ancienne et incompatible de Typescript ...


C'est étrange. Typescript Signalez et utilisez la version correcte, TSC est une application complètement différente et exécute son propre flux, la désinstallation de dactylographie n'affecte pas TSC ...


Si vous écrivez TSC dans votre invite, qu'est-ce qu'il affiche sur la première ligne?


version 2.1.0-dev.20160826


Laissez-nous Continuer cette discussion en chat .


Je voulais juste souligner - Sandrooco m'a aidé à trouver le problème en me dirigeant vers un autre message: Stackoverflow.com/Questtions/15301451/... s'avère, je devais supprimer Une variable de chemin d'arrêt de mon coquille d'utiliser le TSC TSC - un ancien qui a été installé dans des fichiers de programme!


J'ai réexaminé mon projet. Cette fois avec la version TSC correcte. Cela me montre toujours l'erreur de votre message initial! Ajouter les types n'a pas aidé :(


@ Perhornshøj-Schierbeck Dang, quelle était l'erreur à nouveau? (C'est ce que j'ai eu de changer la question initiale ... -.-) Allons-y à nouveau.


En fait, c'est l'erreur toujours en question "Impossible de trouver l'espace de noms" Firebase ""



6
votes

Si vous avez un nouveau projet angulaire 2.0 CLI - cela fonctionnera - je ne connais pas votre configuration particulière:

  1. Assurez-vous que votre tsconfig.json ressemble à ceci:

    "compileroptions": { xxx

    }

    1. créer un nouveau dossier dans @Types appelé firebase .
    2. Créer un nouveau fichier à l'intérieur Firebase , nom IT index.d.ts
    3. Placez le formulaire de contenu ici à l'intérieur < code> index.d.ts
    4. ici sont les documents officiels de configuration angularfire2. La section de dépannage n'est pas exacte - pour un projet de cli angulaire. Assurez-vous de ne pas placer aucune déclaration ou de trucs à l'intérieur de TSConfig.json ou de typages.json comme indiqué là-bas (à partir de maintenant 28 septembre 2016).

      On dirait que le moyen recommandé d'ajouter de la dactylographie à un projet angulaire 2.0 CLI - est de les ajouter à l'intérieur du dossier Node_Modules / @ Types. Comme vous pouvez le voir, le dossier de la typage Jasmine semble similaire - et a été ajouté automatiquement là par l'échafaudage de cli.


1 commentaires

Life Saver! Faire comme l'homme dit si les autres solutions ne fonctionnent pas. J'ai passé de nombreuses heures sur quelques jours à frapper contre cette erreur et beaucoup de ressources me disant la mauvaise façon de le réparer. Cela a fonctionné (à partir du 10/02/2016)



1
votes

Essayez d'ajouter cette ligne sous votre importation

déclarer laisser Firebase: tout; // <== il y a une erreur dans le fichier .d.ts

IE

importer {angularfiremodule} de "angularfire2";

déclarer laisser Firebase: tout; // <== il y a une erreur dans le fichier .d.ts

Vous faites cela lorsque vous ajoutez Vanilla JS à Typescript, c'est essentiellement dire à Typescript que la variable «Firebase» existe même si vous ne le voyez pas maintenant et que cela devrait espérer supprimer l'erreur, si cela me permet de le faire savoir.


0 commentaires

0
votes

Solution:

1.Inside package.json, remove ^ from "firebase": "^4.8.1"

1.1 Downgrade Firebase from 4.8.1 to 4.8.0 by changing 4.8.1 to 4.8.0

1.2 End result should look like this: "firebase": "4.8.0"

2. Run npm update in the Project Root. NPM will downgrade Firebase for ya

3. Run ng serve --open to check for compilation errors. There shouldn't be any.