[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.