BrowserModule和platformBrowserDynamic有什么区别?

Kev*_*vin 4 angular

这两个模块的目的是什么?

import { BrowserModule } from '@angular/platform-browser';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
Run Code Online (Sandbox Code Playgroud)

Gün*_*uer 20

platformBrowserDynamic 是一个用于引导Angular应用程序的函数.

CommonModule是一个模块,提供通常想要在Angular2应用程序中使用的各种服务和指令ngIf.CommonModule与平台无关.

BrowserModule出口CommonModule和提供特定的浏览器平台的几个服务(在违背ServerModuleServiceWorkerModule).

BrowserModule应该只进口AppModule,CommonModule可以随处进口.

  • 我认为ngIf来自CommonModule,BrowserModule只是重新导出它.https://angular.io/docs/ts/latest/cookbook/ngmodule-faq.html#!#q-browser-vs-common-module (6认同)
  • 第二个@maxisam.BrowserModule的主要目的与本答案中的内容不同.[Angular documentation](https://angular.io/guide/frequent-ngmodules)明确指出:"对于在浏览器中运行的应用程序,在根AppModule中导入BrowserModule,因为**它提供了启动和启动所必需的服务运行浏览器应用**." 并且"BrowserModule导入CommonModule,它提供许多常见指令,如ngIf和ngFor.**此外,BrowserModule重新导出CommonModule**,使其所有指令可用于导入BrowserModule的任何模块." (2认同)
  • 是的,他是对的。当我回答时,当时并没有那么容易找到。没有文档 ;-) 我更新了我的答案。 (2认同)
  • @GünterZöchbauer 公平点。那是一个黑暗的时代,你在那个时候发光了:) (2认同)

小智 6

Angular Modules有助于将应用程序组织成具有凝聚力的功能块.

根模块需要将BrowserModulefrom 导入@angular/platform-browser到imports数组.

BrowserModule注册关键应用程序服务提供程序.它还包括类似的常用指令NgIf,NgFor并且可以在任何此模块组件模板中立即可见并可用.

QuickStart应用程序是一个在浏览器中运行的Web应用程序,它涉及此浏览器模块

PlatformBrowserDynamic - 包含处理模板的客户端代码

看到这些链接,这可能也有帮助:@ angular/platform-b​​rowser vs. @ angular/platform-b​​rowser-dynamic

https://angular.io/docs/ts/latest/guide/ngmodule.html