Angular環境構築と簡単な体験のまとめ

Angular環境構築と簡単な体験のまとめ

Angular入門

Angular は、Google が開発したオープンソースの Web フロントエンド フレームワークです。2009 年に誕生し、Misko Hevery らによって作成されました。その後、Google に買収されました。これは、多くの Google 製品で使用されている優れたフロントエンド JS フレームワークです。
プロジェクトの数によると、Angular (1.x、2.x、4.x、5.x、6.x、7.x、8.x、9.x) はインターネット上で最も広く使用されているフレームワークです。

Angular は TypeScript と react に基づいています。Vue と比較すると、Angular は中規模および大規模のエンタープライズ プロジェクトに適しています。

Angular のバージョンに関しては、Angular は Angular 1.x の命名を Angular JS に公式に統一し、Angular 2.x 以上は総称して Angular と呼ばれます。

現在、Angular の最新バージョンは、2019 年 12 月 25 日時点で angular9.x です。公式紹介によると、Angular は数か月ごとにバージョンが更新される予定です。 Angular2.x 以降のすべての Angular バージョンの使用方法は同じです。このチュートリアルは、Angular7.x、Angular8.x、Angular9.x およびその他の将来のバージョンにも適用できます...

Angular を学ぶための必須の基礎: html、css、js、es6、ts

1.開発環境をインストールする

npm インストール -g タイプスクリプト
npm インストール -g @angular/cli

2. hello-worldプロジェクトを作成する

プロジェクトを作成する

ng 新しい angular2-hello-world

新しいプロジェクトのディレクトリ構造を表示する

cd angular2-hello-world
sudo apt ツリーをインストール
木 -F -L 1
。
├── angular.json
├── karma.conf.js
├── node_modules/
├── package.json
├── package-lock.json
├── README.md
├── 出典/
├── tsconfig.app.json
├── tsconfig.json
└── tsconfig.spec.json

2 つのディレクトリ、8 つのファイル

srcディレクトリの構造を表示する

cd ソース
木 -F

アプリケーションを起動し、http://localhost:4200 で実行結果を表示します。

ngサーブ

hello-worldコンポーネントを作成する

ng-generate コンポーネント hello-world

hello-world.component.tsに新しいコンポーネントを定義する

//依存関係をインポートしますimport { Component, OnInit } from '@angular/core';

//コントロールのセレクターと関連ファイルの URL をアノテーションで宣言します
@成分({
  セレクター: 'app-hello-world',
  テンプレート URL: './hello-world.component.html',
  スタイル URL: ['./hello-world.component.css']
})

//コンポーネントデータモデルのエクスポートクラスHelloWorldComponentはOnInitを実装します{

  コンストラクタ() { }

  ngOnInit(): void {
  }

}

hello-world.component.htmlでテンプレートを定義する

<p>mango、hello-world は動作します!</p>

新しく追加されたコンポーネントを使用するために、 app.component.html にタグを追加します。

<h1>
  <アプリのhello-world></アプリのhello-world>
</h1>

実行効果を確認するには、 ng サーブを実行します。

3. ユーザーを表示するためのuser-itemディレクティブを作成する

命令コンポーネントを生成する

mango@mango:~/angular2-hello-world$ ng コンポーネントユーザーアイテムを生成
src/app/user-item/user-item.component.css を作成します (0 バイト)
src/app/user-item/user-item.component.html を作成します (24 バイト)
src/app/user-item/user-item.component.spec.ts を作成します (641 バイト)
src/app/user-item/user-item.component.ts を作成します (286 バイト)
src/app/app.module.ts を更新 (585 バイト)

コンポーネントの名前フィールドを宣言して初期化する

'@angular/core' から Component、OnInit をインポートします。

@成分({
  セレクター: 'app-user-item',
  テンプレート URL: './user-item.component.html',
  スタイル URL: ['./user-item.component.css']
})
エクスポートクラス UserItemComponent は OnInit を実装します {
  名前: 文字列、

  コンストラクタ() { 
    this.name = 'マンゴー';
  }

  ngOnInit(): void {
  }

}

テンプレート内の変数名の値を表示する

<p>
    {{name}} さん、Angular の世界へようこそ。
</p>

app.component.html に app-user-item を追加し、ブラウザの実行結果を表示します。

4. ユーザーリストを作成するuser-listコマンド

新しいコンポーネントの作成

mango@mango:~/angular2-hello-world$ ng コンポーネントのユーザーリストを生成
src/app/user-list/user-list.component.css を作成します (0 バイト)
src/app/user-list/user-list.component.html を作成します (24 バイト)
src/app/user-list/user-list.component.spec.ts を作成します (641 バイト)
src/app/user-list/user-list.component.ts を作成します (286 バイト)
src/app/app.module.ts を更新 (677 バイト)

コンポーネント内のnames配列を宣言して初期化する

'@angular/core' から Component、OnInit をインポートします。

@成分({
  セレクター: 'app-user-list',
  テンプレート URL: './user-list.component.html',
  スタイル URL: ['./user-list.component.css']
})
エクスポートクラス UserListComponent は OnInit を実装します {
  名前: 文字列[];
  コンストラクタ() { 
    this.names = ['マンゴー', 'ナシ', 'ブドウ', 'リンゴ'];
  }

  ngOnInit(): void {
  }

}

コンポーネントのテンプレート内のnames配列を再帰的に走査する

<ul>
    <li *ngFor="let name of names">こんにちは {{name}}</li>
</ul>

コンポーネントを app.component.html に追加し、ブラウザの実行結果を確認します。

5. ユーザーアイテムとユーザーリストを組み合わせる

外部入力を使用するためにユーザーアイテムの名前パラメータを変更します

'@angular/core' から Component、OnInit、Input } をインポートします。

@成分({
  セレクター: 'app-user-item',
  テンプレート URL: './user-item.component.html',
  スタイル URL: ['./user-item.component.css']
})
エクスポートクラス UserItemComponent は OnInit を実装します {
  @入力()
  名前!: 文字列;

  コンストラクタ() { 
    
  }

  ngOnInit(): void {
  }

}

ユーザーリストのテンプレートを変更する

<ul>
    <app-user-item *ngFor="let name of names" [name]="name"></app-user-item>
</ul>

ブラウザ実行を保存して表示します。

6. 起動プロセス分析

ngはまず、angular.json内のプログラムのメインエントリポイント、つまりsrc/main.tsを探します。

{
            "出力パス": "dist/angular2-hello-world",
            "インデックス": "src/index.html",
            "メイン": "src/main.ts",
            "ポリフィル": "src/polyfills.ts",
            "tsConfig": "tsconfig.app.json",
            「資産」: [
              "src/favicon.ico",
              「ソース/アセット」
            ]、
            「スタイル」: [
              "src/styles.css"
            ]、
            「スクリプト」: []
          }

main.tsファイルを確認し、開始されたモジュールがapp/app.module.tsにあるAppModuleであることを確認します。

'@angular/core' から enableProdMode をインポートします。
'@angular/platform-b​​rowser-dynamic' から { platformBrowserDynamic } をインポートします。

'./app/app.module' から { AppModule } をインポートします。
'./environments/environment' から { environment } をインポートします。

if (環境.production) {
  ProdMode を有効にします。
}

プラットフォームブラウザダイナミック()。bootstrapモジュール(AppModule)
  .catch(err => console.error(err));

app.module.ts では、このモジュール内のコンポーネント、依存する外部モジュール、および最上位コンポーネントとして開始された AppComponent が NgModule アノテーションを通じて宣言されていることがわかります。

'@angular/core' から NgModule をインポートします。
'@angular/platform-b​​rowser' から BrowserModule をインポートします。

'./app-routing.module' から { AppRoutingModule } をインポートします。
'./app.component' から { AppComponent } をインポートします。
'./hello-world/hello-world.component' から HelloWorldComponent をインポートします。
'./user-item/user-item.component' から { UserItemComponent } をインポートします。
'./user-list/user-list.component' から { UserListComponent } をインポートします。

@Ngモジュール({
  宣言: [
    アプリコンポーネント、
    HelloWorldコンポーネント、
    ユーザーアイテムコンポーネント、
    ユーザーリストコンポーネント
  ]、
  輸入: [
    ブラウザモジュール、
    アプリルーティングモジュール
  ]、
  プロバイダー: [],
  ブートストラップ: [AppComponent]
})
クラス AppModule をエクスポートします { }

以上がAngular環境構築の詳細と簡単な体験です。Angular環境構築の詳細については、123WORDPRESS.COMの他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • 初心者のためのAngularJS環境構築手順
  • Angular4 勉強ノート準備と環境構築プロジェクト
  • AngularJs 入門チュートリアル: 環境構築 + アプリケーション作成例
  • Angular2 環境構築から開発までの手順を詳しく解説
  • AngularJSはSpringmvc、Spring、Mybatisを統合して開発環境を構築します
  • AngularJS 入門チュートリアル: 学習環境の構築

<<:  Windows 7 環境での Docker 高速ビルドと Alibaba Cloud コンテナ高速化構成の詳細な説明

>>:  MySQL 5.7 の同時レプリケーションにおける暗黙のバグの分析

推薦する

CSS3 オーバーフロープロパティの説明

1. オーバーフローOverflow はオーバーフロー(コンテナ)です。コンテンツがコンテナを越える...

MySQL query_cache_type パラメータと使用方法の詳細

MySQL クエリ キャッシュを設定する目的は次のとおりです。クエリ結果をキャッシュしておくと、次回...

Linux ディスク パーティションの実装の原理と方法の分析

覚えて: IDE ディスク: 最初のディスクは hda、2 番目のディスクは hdb...最初のディ...

Linux でプロセスを隠す方法と、遭遇する落とし穴

序文1. この記事で使用したツールは、https://github.com/gianlucabore...

親要素を基準にCSSの位置を絶対的に設定する方法についての簡単な説明

ご存知のとおり、CSS の絶対位置はデフォルトでドキュメントに応じて設定されます。たとえば、posi...

CSS 3.0 テキストホバージャンプ特殊効果コード

これは、CSS 3.0 で実装されたテキストのホバーとジャンプ効果です。効果は次のとおりです。 以下...

HTML で自動ページジャンプを実現する 5 つの方法

前回の記事では、HTML ページが 3 秒後に自動的にジャンプする一般的な 3 つの方法を紹介しまし...

Oracle と MySQL の高可用性ソリューションの比較分析

Oracle と MySQL の高可用性ソリューションについては、以前からまとめたいと思っていたので...

Vueのwatch、computed、methodsの違いのまとめ

目次1 はじめに2 基本的な使い方2.1 方法2.2 計算プロパティ2.3 リスナーを見る3 3つの...

スケーラブルな列の完全な例を実現するための Ant 設計 Vue テーブル

ant-design-vue テーブルのスケーラブルな列の問題に対する完璧なソリューション。固定列と...

Mac で MySQL 8.0.22 のパスワードを取得する方法

Mac 最新バージョンの MySQL 8.0.22 パスワード回復問題の説明:昨日、突然、Macで最...

非常に詳細な MySQL8.0.22 のインストールと設定のチュートリアル

みなさんこんにちは。今日は、MySQL 8.0.22 のインストールと構成について学習します。注意深...

a タグにはテキストと画像があります。テキストを非表示にして画像のみを表示するにはどうすればよいでしょうか?

多くの場合、画像を表示する<a>タグのスタイルに遭遇しますが、タグ内にテキストがあり、そ...

ウェブページの広告デザインにおけるウェブデザインの寸法とルール

1. 800*600 未満の場合、Web ページの幅が 778 以内であれば、水平スクロール バーは...

ノードイベントループにおけるイベント実行の順序

目次イベントループブラウザ環境イベントループノード環境イベントループ6つのステージ(1)setTim...