🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[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)