web-dev-qa-db-fra.com

Aucun membre exporté / Node Modules

Je commence juste Angular 2/TypeScript en utilisant le Quickstart 5 minutes trouvé ici . J'ai rencontré ce qui semble être un problème commun, mais peut-être un peu différent . Je rencontre toutes sortes de problèmes de "Aucun membre exporté". Exemples:

Depuis app.module.ts:

import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';

Résultats

...node_modules/@angular2/core/index" has no exported member 'NgModule'.

et

...@angular/platform-browser/index" has no exported member 'BrowserModule'.

Et de main.ts:

import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';

jette:

...@angular/platform-browser-dynamic/index" has no exported member 'platformBrowserDynamic'.

J'utilise la version noeud 4.4.7 et la version npm 3.10.5.

Je comprends que ceux-ci sont probablement résolvables dans le contexte du tutoriel en faisant reculer node ou npm vers la version pertinente pour le tutoriel. Je suppose que je préférerais avoir une explication de la façon de rendre le code du didacticiel pertinent pour les versions actuelles de node.

ETA: ces erreurs se produisent lors de la compilation et non de l'exécution.

13
Blind Fish

La classe NgModule est exportée à partir de node_modules/@angular/core/src/metadata.d.ts fichier via le node_modules/@angular/core/index.d.ts une.

Je me demande si vous spécifiez correctement la propriété moduleResolution dans votre tsconfig.json fichier:

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "moduleResolution": "node", // <-----
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false
  }
}
3
Thierry Templier

Pour moi, c'était le problème de l'éditeur VSCode. La simple réouverture de l'éditeur l'a résolu

34
Sudhakar

veuillez mettre à jour toutes vos dépendances @angular dans package.json au moins "2.0.0-rc.5"

après cela, vérifiez votre application bootstrap in main.ts.

selon le journal des modifications de 2.0.0-rc.5, il y a un changement de bootstrap votre application. ou consultez également le guide du tutoriel mis à jour https://angular.io/guide/quickstart .

import {NgModule} from '@angular/core';

@NgModule({
  declarations: […], // directives, components, and pipes owned by this NgModule
  imports: [BrowserModule],
  providers: […], // additional providers
  bootstrap: [MainComponent],
})
class MyAppModule {}

// Ahead of Time compile
import {platformBrowser} from ‘@angular/platform-browser’;

platformBrowser().bootstrapModuleFactory(MyAppModuleNgFactory);

// JIT compile long form
import {platformBrowserDynamic} from ‘@angular/platform-browser-dynamic’;

platformBrowserDynamic().bootstrapModule(MyAppModule);
4
Sma Ma

Dans le fichier package.json, toutes les dépendances qui utilisent rc.4, les remplacent par rc.5. Ensuite, cela fonctionnera.

1
Akhil A