14.使用作用域包

Scopes就好像npm模块的namespaces。如果一个包名的第一个字符是@,那么它就是个作用域包。在@和斜杠之间作用域可以是任何字符。

@scope/project-name

每个npm用户都有他们独自的作用域。

@username/project-name

你可以在CLI documentation中查看更多有关作用域的信息。

更新npm和登录

npm的版本需要在2.7.0以上,如果你是第一次使用作用域模块,你需要再次登录。

sudo npm install -g npm
npm login

初始化一个作用域包

你仅仅只需要用你的包名加上你的作用域就可以创建一个作用域包。

{
  "name": "@username/project-name"
}

如果你使用npm init命令初始化,你可以通过一个指令来添加你的作用域。

npm init --scope=username

如果你总是使用相同的作用域,你可以把这个选项添加到你的.npmrc文件中。

npm config set scope username

发布一个作用域包

作用域包默认是私有的。你需要付费成为一个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来获得更多关于私有模块的信息。

官方原文

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容