我們知道由命令 ng new project-name,cli將會創建一個基礎的angular應用,我們是可以直接運行起來一個應用。這歸功與cli已經給我們創建好了一個根模塊AppModule,而根模塊就是用來啟動此應用的模塊。
main.ts 是啟動的起點,platformBrowserDynamic這個函數是瀏覽器平台的工廠函數,執行會返回瀏覽器平台的實例,然后對根模塊進行初始化,鏈式的將所有的依賴的Module都給加載進來。每個應用程序都是通過模塊的using bootstrapModule
方法創建的。
import { enableProdMode } from '@angular/core'; import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { AppModule } from './app/app.module'; import { environment } from './environments/environment'; if (environment.production) { enableProdMode(); }
// 首先創建平台,然后創建應用程序實例。 platformBrowserDynamic().bootstrapModule(AppModule) .catch(err => console.error(err));
創建應用程序時,Angular會檢查根模塊AppModule,AppModule的屬性bootstrap
用於引導應用程序。此屬性通常來來引導應用程序的組件。然后Angular在DOM中找到作為自舉組件的選擇器的元素,並初始化該組件。大概就這樣吧。
import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, AppRoutingModule ], providers: [], bootstrap: [AppComponent] }) export class AppModule { }
此隨筆乃本人學習工作記錄,如有疑問歡迎在下面評論,轉載請標明出處。
如果對您有幫助請動動鼠標右下方給我來個贊,您的支持是我最大的動力。