2016-08-11 6 views
11

5分クイックスタートを使用してAngular 2/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'. 

[email protected]/platform-browser/index" has no exported member 'BrowserModule'. 

そしてmain.tsから:

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

例外:

[email protected]/platform-browser-dynamic/index" has no exported member 'platformBrowserDynamic'. 

私はノードのバージョン4.4.7およびNPMのバージョン3.10.5を実行しています。

これはおそらくチュートリアルに関連してノードまたはnpmをバージョンにロールバックすることで解決できると思います。私は、現在のバージョンのノードに関連するチュートリアルからコードを作成する方法について説明したいと思います。

ETA:これらのエラーはコンパイル時に発生し、実行されません。

+0

TypeScriptのコンパイルまたは実行レベルでエラーはありますか? –

+0

質問をいただき、ありがとうございました。コンパイルレベルです。 –

答えて

2

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 
    } 
} 
+0

解像度はまさにそれです。確かに私は構文に慣れるためにチュートリアルのすべてのファイルを手渡しますが、コンパイルエラーが出たら最初に戻って手書きの作業をソースからの直接コピー/ペーストに置き換えます。この場合、あなたが投稿したものは私のtsconfig.jsonの内容です –

+0

おそらく私はあまりにもリテラルなのですが、metadata.d.tsまたはindex.d.tsファイルにNgModuleのエクスポートがありません。実際、「NgModule」はどちらのファイルにも表示されません。 –

+0

本当に! RC5から表示されるため、どのバージョンのAngular2を使用していますか?あなたの 'package.json'ファイルを見てください。 –

22

それはVSCodeエディタの問題でした。単にエディタは、それが

+0

ここ、ありがとう:) –

+1

ハハハはとてもエッチアップです、私はそれを実現するために一時間のように過ごしました。 IntelligentJを使用していますが、今回はMS TypeScript(MS ©)を使用していました。 –

+0

これはAtomとまったく同じ問題です。私はそれを閉じる必要はなく、消去して再度入力しただけで、エラーは発生しませんでした。 – rbenvenuto

3

main.ts.でアプリケーションの起動を確認し、その後、少なくとも「2.0.0-rc.5」

にpackage.jsonにすべての@angularの依存関係を更新してください解決再開します

変更履歴2.0.0-rc.5によると、あなたのアプリのブートストラップの変更があります。更新されたチュートリアルガイド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); 
1

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

関連する問題