2015-12-22 11 views
11

私はこのようなコンポーネント作成午前:(試料から)`angular2`はコンポーネントをどのようにエクスポートしますか?

import {Component} from 'angular2/core'; 

@Component({ 
    selector: 'my-app', 
    template: '<h1> ~ My First Angular 2-0 App By Gulp Automation ~ </h1>' 
}) 

export class AppComponent { } //what it is exporting here? 

および他のモジュールへのインポート:

<script> 
     System.config({ 
     packages: {   
      app: { 
      format: 'register', //what is means? 
      defaultExtension: 'js' 
      } 
     } 
     }); 
     System.import('app/boot') 
      .then(null, console.error.bind(console)); 
    </script> 

I:のindex.htmlで

import {bootstrap} from 'angular2/platform/browser' 
import {AppComponent} from './app.component' //what it's imports here 

bootstrap(AppComponent); //it works. 

背後にある論理を理解できないのですが、誰かが私を助けてくれますか?

ありがとうございます。

答えて

5

を助けることを願って、「./app.componentは」意味「と同じディレクトリと名前のファイルを見つけ、 『私はNG2に新しいです

』 app.component.ts、役立ちましたあなたを助けることができます:https://angular.io/guide/quickstarthttps://daveceddia.com/angular-2-dependencies-overview/。実際に

、SystemJSは、モジュールロジックとそれらの間のリンクを実装する責任があります。そのため、HTMLページにSystemJSファイル(systemjs)を組み込み、System.configを使用して構成し、最後にSystem.importというAngular2アプリケーションの主要コンポーネントをロードする必要があります。

起動時に明示的にSystemJsを使用します(System.import)。アプリケーションの他の要素では、特にTypeScriptを使用する場合、このツールは暗黙的に使用されます。この場合、単純なimportは、別のモジュールをインポートするのに十分です。トランスファイルされたファイル(JavaScriptファイル)を見ると、SystemJSが使用されていることがわかります。

付録SystemJS設定https://angular.io/docs/ts/latest/quickstart.html#!#systemjs)ここで、モジュール形式に関するドキュメントへのリンク(System.configブロックでformat属性)があるあなたにAngular2アプリケーション

ためSystemJSの構成に関するいくつかのヒントを与えることができます:https://github.com/systemjs/systemjs/blob/master/docs/module-formats.mdformat属性にregisterの値を使用することにより、System.registerがモジュールの定義に使用されることを指定します。

はティエリー

1

内部のいくつかのコードをパックされたモジュールなどのコンポーネント、および他のモジュールを使用するには、uは

import {AppComponent} from './app.component' 

この「モジュール」をエクスポートするときにAppComponentは、クラスの名前で、angular2コンポーネント名「AppComponent」を知っていますそれは私がこれらのリンクはと思い、それをuに

+0

だから、 'import'はクラスの代わりにファイル全体を取ります。それは...ですか? – user2024080

+0

"library"から "module name"をインポートすると、Pythonのようなoop言語を学んだら意味があります。 "library"は "angular2/core" ../ commonなどの角度ライブラリかもしれません。そうでなければuはimport local 「app.component」のような../、../../、./このパターンのモジュール – mckit

2

は、それがここにエクスポートしているものをエクスポートクラスAppComponent {} // 、それはあなたのお役に立てば幸いですか!

これはArchitecture Overviewガイドで(簡単に)説明します

export class AppComponent { }

輸出文が、これはそのAppComponentクラス公開との他のモジュールにアクセス可能なモジュールであることを活字体を伝えます応用。

我々はAppComponentへの参照が必要な場合は、我々はこのようにそれをインポートします。

import {AppComponent} from './app.component';

import文は、それが近隣にあり、モジュールの名前app.componentからAppComponentを得ることができるシステムに指示しますファイル。モジュール名(AKAモジュールID)は、拡張子のないファイル名と同じことがよくあります。

関連する問題