Angular 2中的@angular是什么?

时间:2016-05-11 14:31:56

标签: angular

我正在研究Angular 2文档。

很多地方,包括示例,Angular都被称为@angular

例如,在API页面上:

https://angular.io/docs/ts/latest/api/

@有什么意义?它与Angular 2代码有任何关联吗?

5 个答案:

答案 0 :(得分:29)

这是NPM存储库中作用域的名称

tinycss

@angular是范围名称和所有模块(corecompilercommonplatform-...testing,{{1} },...)在该范围内发布。

  • beta.x之后的Angular2版本,因此router使用>= Angular2 RC.0

  • 版本@angular使用<= Angular2 beta.x

他们改变它的原因之一是他们认为angular2中的2用词不当。目前(2017年1月),我们处于Angular版本Angular2,应该明确指出4.0.0-beta.1没有意义。

答案 1 :(得分:10)

从Angular Git页面:

  

“所有软件包现在分布在@angular npm范围内。&gt;这会改变通过npm安装Angular的方式以及如何导入代码。”

从NPM文档页面:

  

“范围就像npm模块的命名空间。如果包的名称以@开头&gt;那么它是一个范围包。范围是&gt; @和斜杠之间的所有内容。”

希望这有帮助。

https://github.com/angular/angular/blob/master/CHANGELOG.md

https://docs.npmjs.com/getting-started/scoped-packages

答案 2 :(得分:6)

@表示它是一个私有的npm包。只允许授权团队推送新版本,但可以公开下载。通过将其作为npm包发布,您可以将node用作应用程序的包管理器,并让节点管理与其他包和版本的依赖关系。很有用。

答案 3 :(得分:0)

我们以import { NgModule } from '@angular/core';为例。
如果你看github source,@ angular只是一个文件夹名称。我们来看@ angular / core。里面是index.ts,它进一步导出./src/core,这意味着.src / core.ts,因为.ts扩展名是假定的。当您到./src/core.ts时,您会发现它导出.metadata。当你进入./metadata时,你会发现ngmodule.ts。这里面是@NgModule定义的!

答案 4 :(得分:-1)

这里没什么特别的,&#34; @&#34; character是区分node_modules文件夹中的@angular文件夹的方法,因为它是包含需要在您的环境中运行角度的所有模块的文件夹