Angular platform-browser是什么?

76

我是Angular 2的新手。我注意到在每个项目中都有一个名为platform-browser的插件。

"@angular/platform-browser": "2.0.0-rc.4",
"@angular/platform-browser-dynamic": "2.0.0-rc.4",

我不太清楚它的用途。请有人解释一下: - platform-browser 的用途是什么? - 如果我们不使用 platform-browser 会出现什么问题?


- platform-browser有什么用途? - 如果不使用platform-browser会有什么问题?

3
可能是重复的问题,关于 ['angular2/platform/browser' 和 '@angular/platform-browser-dynamic'] 的区别。原问题链接:https://dev59.com/AFoT5IYBdhLWcg3w8jFm - Louis
5个回答

45

Angular应用程序的启动方式有很多种,但是当您在浏览器上运行时,有一种特定的启动应用程序的方式,它定义在@angular/platform-browser-dynamic中。

简而言之,这些包包含了Angular功能,使得在浏览器中运行Angular应用程序成为可能。其中之一就是Bootstrapping

如果您的目标不是开发浏览器应用程序,则可以省略此操作,否则它是必需的。


18

在Angular 1中,我们使用index.html文件中的ng-app属性一次性引导应用程序。

<div ng-app='my-app'> </div>

在此输入图片描述

但是在 Angular 2 中,我们需要通过使用 bootstrap 方法来指定哪个组件将成为根组件。

platformBrowserDynamic().bootstrapModule(AppModule)

正如您所看到的,我们不会直接将组件作为参数传递给 bootstrapModule 方法。但在根模块中(在此示例代码中为 AppModule),我们必须传递根组件。下面您将看到 app.module.ts 文件的类 AppModule(应用程序的根模块):

enter image description here

您可能想阅读这篇文章


8
"Platform-browser"包用于控制以下浏览器功能:
  1. 我们可以动态更改页面标题。
  2. 它用于设置、获取、更新浏览器元数据。
  3. 同时,我们可以使用此软件包中提供的函数禁用或启用浏览器调试工具。

还有许多其他功能。

请参见下面的URL: https://angular.io/api/platform-browser


5
这段文字讲述了应用程序的编译方式,AOT和JIT。AOT是预编译的方式,而JIT则在浏览器级别进行编译。与JIT相比,下载到浏览器的应用程序代码更小。JIT编译器会在浏览器中即时创建这些类。无论如何,应用程序模块(AppModule)都不关心这是如何引导的。
请参阅文档:https://angular.io/guide/ngmodule

4

Angular 2的引导是与平台相关的

我们使用来自ng.platformBrowserDynamic而不是ng.core的引导函数。这其中有很好的原因。

我们只将那些在所有平台目标上都相同的功能称为"core"。确实,大多数 Angular 应用程序只在浏览器中运行,并且通常会从此库调用引导函数。

参考:https://angular.io/guide/quickstart


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接