【问题标题】:What is Angular platform-browser?什么是 Angular 平台浏览器?
【发布时间】:2016-11-19 08:13:08
【问题描述】:

我是 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会有什么问题?

【问题讨论】:

标签: angular


【解决方案1】:

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

简而言之,这些包包含 Angular 功能,可以在浏览器中启动和运行 Angular 应用程序。 Bootstrapping 是必不可少的,也是这些功能之一。

当您的目标不是开发要在浏览器上运行的应用程序时,您可以省略它,否则它是必不可少的。

【讨论】:

    【解决方案2】:

    Angular 2 Bootstrapping 是特定于平台的

    我们使用来自ng.platformBrowserDynamic 的引导函数,而不是来自ng.core 的引导函数。有充分的理由。

    我们只调用"core" 那些在所有平台目标上都相同的功能。诚然,大多数 Angular 应用程序只在浏览器中运行,我们大部分时间都会从这个库中调用 bootstrap 函数。

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

    【讨论】:

      【解决方案3】:

      这告诉我们应该如何编译应用程序。 AOT/JIT。 AOT 预先编译(预编译),而 JIT 在浏览器级别进行。 下载到浏览器的应用程序代码比 JIT(动态版本)的要小。 JIT 编译器在浏览器中动态创建这些类。无论如何,应用程序模块(AppModule)从不关心它是如何被引导的。

      请参阅文档:https://angular.io/guide/ngmodule

      【讨论】:

        【解决方案4】:

        “Platform-b​​rowser”包用于控制以下浏览器的一些东西。

        1. 我们可以动态更改页面标题。
        2. 用于设置、获取、更新浏览器元数据的
        3. 我们还可以借助此包中提供的功能禁用或启用浏览器调试工具

        还有很多其他的东西。

        请查看以下网址 https://angular.io/api/platform-browser

        【讨论】:

          【解决方案5】:

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

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

          但在 Angular 2 中,我们需要通过

          传递哪个组件将成为根
          platformBrowserDynamic().bootstrapModule(AppModule)
          

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

          您可能想阅读this。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-01-09
            • 1970-01-01
            • 2012-05-17
            • 2011-10-26
            • 2017-04-03
            • 1970-01-01
            • 2020-11-21
            • 1970-01-01
            相关资源
            最近更新 更多