[TOC]
*需要npm版本2或更高版本*
作用域用于将相关的包组合在一起,并为 npm 模块创建一个名称空间,如域。 这在这里更详细地解释。
如果一个包的名字以 @ 开头,那么它就是一个有范围的包。 范围是 @ 和斜杠之间的所有内容。
~~~
@scope/project-name
~~~
每个 npm 用户都有自己的范围。
~~~
@username/project-name
~~~
npm 组织也有范围。
`@orgname/project-name`
您可以在 [CLI 文档中](https://docs.npmjs.com/misc/scope#publishing-public-scoped-packages-to-the-public-npm-registry) 找到有关范围的更多深入信息。
## 如何初始化一个范围包
要创建一个范围包,只需使用一个以范围开头的包名。
~~~
{
“name”:“@ username / project-name”
}
~~~
如果您使用 `npm init`,则可以将作用域添加为该命令的选项。
~~~
npm init --scope=username
~~~
如果您始终使用相同的范围,则可能需要在 .npmrc 文件中设置此选项
~~~
npm config set scope username
~~~
## 发布一个范围包
默认情况下,作用域包是私有的。 要发布[私有模块](https://www.npmjs.com/private-modules),您需要成为付费专用模块用户。
公共范围模块是免费的,不需要付费订阅。 要发布公共范围的模块,请在发布时设置访问选项。 该选项将保留为所有后续发布设置。
~~~
npm publish --access=public
~~~
## 使用范围包
要使用范围包,只需将范围包含在使用包名称的任何地方。
在 package.json 中:
~~~
{
"dependencies": {
"@username/project-name": "^1.0.0"
}
}
~~~
在命令行上:
~~~
npm install @username/project-name --save
~~~
在要求声明中:
~~~
var projectName = require("@username/project-name")
~~~
有关使用作用域私有模块的信息,请访问[ npmjs.com/private-modules](https://www.npmjs.com/private-modules) 。
> [原文链接](https://docs.npmjs.com/getting-started/scoped-packages)
- 第一章 入门
- 01 - 什么是npm?
- 02 - 如何找到和选择软件包
- 03 - 如何设置新的npm账户并安装npm
- 04 - 如何安装本地软件包
- 05 - 使用package.json
- 06 - 如何更新本地软件包
- 07 - 如何卸载本地软件包
- 08 - 如何安装全局包
- 09 - 如何更新全局包
- 10 - 如何卸载全局软件包
- 11 - 如何创建Node.js模块
- 12 - 如何发布和更新软件包
- 13 - 如何使用语义版本控制
- 14 - 如何使用作用域包
- 15 - 如何用dist-tags标签包
- 16 - 如何使用双因素认证
- 17 - 如何使用安全令牌
- 18 - 如何更改配置文件设置
- 19 - 了解包和模块
- 20 - 如何防止权限错误
- 第二章 私人包裹
- 第三章 故障排除
- 第四章 使用npm
- 第五章 CLI命令
- 第七章 配置npm
- 第八章 npm,Inc.