npm包 @ 命名空间
npm 包管理 命名空间
npm 包前面的@
发现现在常用的包较新的版本几乎都使用了@开头,比如 vue-cli变为了@vue/cli,就去了解了一下其原因。
命名空间
npm 包前面加@,代表scopes相关的包,可以理解为作用域(范围)包,作用域使我们可以创建与其他用户或组织创建的包同名,而不会发生冲突。
作用域名称是介于@和斜线之间的所有内容:
// “npm” scope:
@npm/package-name
// “npmcorp” scope:
@npmcorp/package-name
为什么需要有作用域包
npm 包一个诟病就是包名很容易被占用的问题,占用后用其他人就不能用了。而作用域包类似于创建了一个命名空间,不同的命名空间,可以使用相同的包名
作用域的命名不是谁便就能用的,只有两种可以使用:自己的用户名、自己创建的组织名
注意:必须先注册一个npm用户帐户,然后才能发布用户作用域的 npm 软件包。此外,要发布组织作用域的软件包,您必须创建一个npm用户帐户,然后创建一个npm Org(组织)。
@vue/cli说明使用了vue这个npm账号或者组织发布了该包。