2016-04-30 12 views
10

angular 2 official siteのクイックスタートセクションでは、最も単純なアングル2アプリケーションの実行方法について説明しています。デフォルトではSystemJSがモジュールローダとして使用されます。また、うまく動作する選択肢があるというメモがあります。私はモジュールローダーの利点を理解していますが、モジュールローダーなしでAngular 2アプリケーションを実行する方法はありますか?モジュールローダーなしで角度2を使用する方法はありますか?

私は単にSystemJS構成とSystemJSソーススクリプトタグを削除すると、私はangular2.dev.jsファイルにコンソールでエラーが出ます:

Uncaught ReferenceError: System is not defined 

自体2の角度がSystemJSを使用するように見えます。では、モジュールローダーなしで角度2を使用する方法はありますか?

+0

私はes6を使用していますので、私は別のツールを使ってビルドしています。しかし、すべてのコードを1つのビルドjsファイルにトランスコンパイルするためのツールを調べるべきです。私はes6をトランスコンパイルするためにbabelプラグインでbrowsifyを使用しましたが、あなたはタイプスクリプトプラグインでブラウズすることができます。 – adrianj98

答えて

1

はい、プレーンES5のjavascriptを使用できます。試してくださいthis simple example

また、あなたは彼らがES5 JavaScriptがネイティブモジュールシステムを持っていない」ことを考慮例を作成oficial javascript 5 min quickstartを試すことができます。私たちは簡単にするために、代わりに。使用することができピッキングを避けるために、いくつかの人気のあるサードパーティのモジュールシステムがあります。お気に入りの場合、アプリケーション用のグローバルな名前空間を1つ作成します。 "

単一のグローバル名前空間(およびチュートリアル(angular2-all.umd.jsなど)で説明されている正しいスクリプトを読み込む)は、モジュールローダーなしで実行する方法の1つです。

この構造体は、TypescriptまたはES6でも動作します。あなたのコードをES5にコンパイルし、それをチュートリアルのコードの残りの部分と一緒に使うためには、あなたの好きな蒸散器(BabelTraceurなど)を追加するだけですが、すでに実行していると思います。

+2

残念ながら、両方の例へのリンクは今や死んでいます。それらの更新版はありますか? –

0

this blogpostによれば、TypeScriptコンパイラを使用してインポートをトラバースし、バンドルすることができます。問題の機能はConcatenate AMD and System modules with --outFileです。私はこれをテストしていない。技術的には、SystemJSは依然としてモジュールローダーですが、標準化されているはずです。

関連する問題