Javascript “这是什么意思?”;at";(@)npm包上的前缀?
在游戏中,我无意中发现了一个我从未见过的npm命令,我不明白发生了什么:Javascript “这是什么意思?”;at";(@)npm包上的前缀?,javascript,angular,npm,Javascript,Angular,Npm,在游戏中,我无意中发现了一个我从未见过的npm命令,我不明白发生了什么: npm install @angular/router --save @angular/router的含义是什么 整个字符串是一个包名吗?但是,当我在上使用搜索时,我找不到该软件包。 命令行搜索也不会返回这样的包: npm search @angular/router :No match found for "@angular/router" 那么,@angular/是npm中的某种前缀机制吗?它是如何工作的?这是NP
npm install @angular/router --save
@angular/router
的含义是什么
整个字符串是一个包名吗?但是,当我在上使用搜索时,我找不到该软件包。
命令行搜索也不会返回这样的包:
npm search @angular/router
:No match found for "@angular/router"
那么,
@angular/
是npm中的某种前缀机制吗?它是如何工作的?这是NPM的一个新特性,称为“作用域包”,它有效地允许NPM包被命名为命名空间。NPM上的每个用户和组织都有自己的范围,他们是唯一可以向其中添加包的人
这很有用,原因如下:
- 它允许组织明确哪些软件包是“官方的”,哪些不是。
- 例如,如果一个包的作用域为
,那么您就知道它是由angular核心团队发布的@angular
- 例如,如果一个包的作用域为
- 包名称只需在其发布所在的范围内唯一,而不必在整个注册表中唯一。
- 例如,包名
已经在主存储库中使用,但是Angular也可以使用http
@Angular/http
- 例如,包名
编辑:看来npm上基本上有两种类型的模块,它们是-
- 全局模块-这些模块遵循当前存在的命名约定。您
,这是一件非常令人高兴的事情。它们由一个或多个用户通过需要('foo')
命令拥有npm install XYZ
- 作用域模块-这些是在组织名称下“作用域”的新模块,该组织名称以
组织名称、斜杠和软件包名称开头,例如@
。作用域是将相关包分组在一起的一种方式,它还影响npm处理包的方式@someOrgScope/packagename
npm install @myorg/mypackage
另见
安装指定标记引用的包的版本。如果该包的注册表数据中不存在该标记,则此操作将失败。 例如: npm安装[/]
安装包的指定版本。如果版本尚未发布到注册表,则此操作将失败。 例如: npm安装[/]
安装与指定版本范围匹配的软件包版本。 例如:
npm-install-packagename@“>=0.1.0=0.1.0npm-help-scope
@trailingslash这是一个很好的答案!(不应该是评论。)
npm install packagename@latest
npm install @myorg/mypackage@latest
npm install packagename@0.1.1
npm install @myorg/privatepackage@1.5.0
npm install packagename@">=0.1.0 <0.2.0"
npm install @myorg/privatepackage@">=0.1.0 <0.2.0"