在Angular Component Router文档中,我偶然遇到了一个从未见过的npm命令,我不知道发生了什么:
npm install @angular/router --save
是什么意思@angular/router?
@angular/router
整个字符串是包名吗?但是当我在npmjs.com上使用搜索时,我没有找到该软件包。而且,命令行搜索也不会返回任何此类包:
npm search @angular/router :No match found for "@angular/router"
那么@angular/npm中的某种前缀机制呢?以及它如何运作?
@angular/
这是NPM的一项新功能,称为“作用域软件包”,可有效地使NPM软件包具有名称空间。NPM上的每个用户和组织都有自己的范围,并且是唯一可以向其中添加软件包的人员。
这很有用,原因如下:
@angular
http
@angular/http
其原因范围的包不要在公共场所搜索显示出来是因为他们中的很多都是通过NPM的支付服务组织创建的私有包,而且他们不舒服开放搜索,直到他们可以完全肯定他们是不是将会公开任何不应该公开的东西- 从法律的角度来看,这是可以理解的。