コンポーネントの基本コードを理解する (6/6)
作成:2016-08-13 09:47
更新:2016-08-13 09:47
更新:2016-08-13 09:47
■index.htmlをチェックする
さあ、残るはルートにあるindex.htmlだけです! ここには、けっこういろいろな仕掛けがしてあります。下のリスト欄をよく眺めましょう。
(※なお、下記掲載のリストは、生成されたコードそのままではありません。わかりやすいようにタグの並び順を入れ替えて整理してあります)
・正式リリース版の用意
environment.productionがtrueでなければ、ember-cli-live-reload.jsというファイルをロードしています。これは、environmentをカットしていたら削除しても構いません。
・スクリプトファイルのロード
これは、必要なスクリプトファイルをロードするための<script>タグを生成するものです。読み込むべきスクリプトファイルはAngular側で把握しています。
・system-config.jsとmainのロード
SystemJSという設定ツールのファイルであるsystem-config.jsをロードし、それが完了したらmain.tsをロードしています。これにより、このアプリケーションのメインプログラムが読み込まれ実行されるわけです。
・コンポーネントの配置
これが、サンプルで用意されたAppComponentというコンポーネントを配置しているカスタムタグです。AppComponentの@Componentアノテーションで、selector: 'app-root' という設定を用意してありましたね。これにより、<app-root>というタグとしてAppComponentが利用できるようになっていたのです。
――さぁ、これでようやくAngularアプリケーションの基本的な処理の流れがわかってきました。まだ、system-config.tsの設定ファイルなど、説明していないファイルはありますが、ここまでのことがわかれば、とりあえずAngularの基本的なプログラムの仕組みはわかるはずですよ。
(※なお、下記掲載のリストは、生成されたコードそのままではありません。わかりやすいようにタグの並び順を入れ替えて整理してあります)
・正式リリース版の用意
{{#unless environment.production}}
<script src="/ember-cli-live-reload.js" type="text/javascript"></script>
{{/unless}}environment.productionがtrueでなければ、ember-cli-live-reload.jsというファイルをロードしています。これは、environmentをカットしていたら削除しても構いません。
・スクリプトファイルのロード
{{#each scripts.polyfills}}
<script src="{{.}}"></script>
{{/each}}これは、必要なスクリプトファイルをロードするための<script>タグを生成するものです。読み込むべきスクリプトファイルはAngular側で把握しています。
・system-config.jsとmainのロード
<script>
System.import('system-config.js').then(function () {
System.import('main');
}).catch(console.error.bind(console));
</script>
SystemJSという設定ツールのファイルであるsystem-config.jsをロードし、それが完了したらmain.tsをロードしています。これにより、このアプリケーションのメインプログラムが読み込まれ実行されるわけです。
・コンポーネントの配置
<app-root>Loading...</app-root>
これが、サンプルで用意されたAppComponentというコンポーネントを配置しているカスタムタグです。AppComponentの@Componentアノテーションで、selector: 'app-root' という設定を用意してありましたね。これにより、<app-root>というタグとしてAppComponentが利用できるようになっていたのです。
――さぁ、これでようやくAngularアプリケーションの基本的な処理の流れがわかってきました。まだ、system-config.tsの設定ファイルなど、説明していないファイルはありますが、ここまでのことがわかれば、とりあえずAngularの基本的なプログラムの仕組みはわかるはずですよ。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Myapp</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
{{#unless environment.production}}
<script src="/ember-cli-live-reload.js" type="text/javascript"></script>
{{/unless}}
{{#each scripts.polyfills}}
<script src="{{.}}"></script>
{{/each}}
<script>
System.import('system-config.js').then(function () {
System.import('main');
}).catch(console.error.bind(console));
</script>
</head>
<body>
<app-root>Loading...</app-root>
</body>
</html>
※関連コンテンツ