web-dev-qa-db-ja.com

エクスポートされたメンバーなし/ Node Modules

Angular 2/5分クイックスタートを使用したTypeScriptが見つかりました here を開始しました。 。あらゆる種類の「エクスポートされたメンバーなし」の問題が発生しています。

App.module.tsから:

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

返品

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

そして

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

そしてmain.tsから:

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

スロー:

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

ノードバージョン4.4.7とnpmバージョン3.10.5を実行しています。

ノードまたはnpmをチュートリアルに関連するバージョンにロールバックすることにより、これらがチュートリアルのコンテキストでおそらく解決できることを理解しています。私が持ちたいのは、チュートリアルのコードをノードの現在のバージョンに関連させる方法の説明だと思います。

ETA:これらのエラーは、実行ではなくコンパイル時に発生します。

13
Blind Fish

NgModuleクラスは、node_modules/@angular/core/src/metadata.d.tsファイルを介してnode_modules/@angular/core/index.d.tsファイルからエクスポートされます。

tsconfig.jsonファイルでmoduleResolutionプロパティを正しく指定したのだろうか:

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

私にとっては、VSCodeエディターの問題でした。エディターを再度開くだけで解決しました

34
Sudhakar

package.json内のすべての@angular依存関係を少なくとも「2.0.0-rc.5」に更新してください

その後、アプリケーションを確認しますbootstrap= main.tsで。

2.0.0-rc.5の変更ログによると、bootstrap=アプリの変更があります。または、更新されたチュートリアルガイドも参照してください 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

Package.jsonファイルでは、rc.4を使用しているすべての依存関係を、rc.5に置き換えます。その後、動作します。

1
Akhil A