【问题标题】:Why angular packages are separated and why we need them为什么角度包是分开的,为什么我们需要它们
【发布时间】:2017-12-27 02:11:02
【问题描述】:

我已经开始构建一个新的 Angular 2 应用程序。我浏览了这些文章并从 github 下载了一些免费应用程序,它们都有 angular/comman 包以及其他一些包。我安装了 Angular 包,它在 package.json 文件中添加了"angular": "^1.6.5"。我不确定我们是否可以拥有完整的软件包,那么为什么我们要单独安装 comman 软件包?

当我检查其他应用程序时,他们大多有关注

"@angular/common": "2.0.1",
"@angular/compiler": "2.0.1",
"@angular/core": "2.0.1",
"@angular/forms": "2.0.1",
"@angular/http": "2.0.1",
"@angular/platform-browser": "2.0.1",
"@angular/platform-browser-dynamic": "2.0.1",
"@angular/router": "3.0.1",

它们都是角核心的一部分吗?我在这里看不到角包。

有没有关于 Angular 2 包的文章或指南?

【问题讨论】:

    标签: angular npm package


    【解决方案1】:

    以下是每个包的简要说明:

    必填

    • @angular/core - 包含装饰器、组件视图、更改检测等核心功能。
    • @angular/compiler - 包含 Angular 编译器。

    根据环境和设置需要

    • @angular/platform-b​​rowser - 包含引导应用程序和使用 DOM 所需的浏览器特定代码。如果您在浏览器以外的平台上使用 Angular,则可能不需要。
    • @angular/platform-b​​rowser-dynamic - 包含应用程序动态引导的实现。如果您使用AOT,则不需要。

    通常需要

    • @angular/common - 包含通用指令和管道
    • @angular/forms - 包含表单实现
    • @angular/http - 包含 http 客户端实现
    • @angular/router - 包含路由器实现

    之所以不将其全部打包到一个巨大的@angular 包中,是因为您可能不需要运行时中的所有内容。你的应用程序可能不使用表单,或者像ngFor 这样的内置指令,或者可能不使用路由。为什么要全部加载到浏览器中?

    此外,有时需要第二组软件包,但有时与设置无关。运行时唯一需要的就是@angular/core。

    另见the official docs。

    【讨论】:

    • @echonax,谢谢,我会添加链接。不知道它存在)
    • @Maximus 谢谢老兄,这对初学者来说是很好的信息,我很长一段时间都在努力决定套餐。
    • @Maximus 谢谢!我想知道您是否可以在 stackoverflow.com/questions/45185310/… 上分享您的想法,我应该在我的实时项目 Angular CLI 或 webpack 中使用什么?
    猜你喜欢
    • 1970-01-01
    • 2011-01-15
    • 2012-05-15
    • 2017-02-24
    • 2011-08-19
    • 1970-01-01
    • 2017-08-24
    • 2023-03-04
    相关资源
    最近更新 更多