美文网首页
npm新的包名规范

npm新的包名规范

作者: 一懒众衫小小小小 | 来源:发表于2020-04-15 10:49 被阅读0次

npm官方对包的命名方式进行了一些修改,为的是更好的防御「误植域名」攻击,同时帮助包开发者们挑选出更加合适的包名。

1. 包名类似,拒绝发布

把包名中的标点符号去掉并与现有的包进行比较,相同则不允许发布

例如:react-native已经存在,那么诸如

reactnative

react_native

react.native

的就不可以再发布了

2. 使用作用域

如果因为你起的包名与现有的包名太相近而被阻止发布这个包,那么找到一个独一无二包名最简单方法就是使用自己的作用域。你可以使用@+你的npm用户名加在包名前面将包划到你的npm账户作用域下。比如,我的npm用户名是 abby,所以我的作用域是@abby。

所以在package.json文件里把

{
    "name": “react-native"
}

修改为

{
    "name": “@abby/react-native"
}

然后我要发布这个包。被划了作用域的包默认是私有的,所以要通过—access=public让它变为公有的包:

> npm publish --access=public
+ @abby/react-native@1.0.0

3. 包命名的历史

在npm注册表上,包名的历史是一个很小心的地添加条件限制的过程。在最早的时候,npm允许在包名上添加url安全字符,包括大写和小写字母。但是现在创建的包名中不能再有大写字母了,但是在npm注册表中那些包名中有大写字母的包依然存在也依然在使用,包名仅仅在大小写上的差异让我们第一次遇到了误植事件!

可能大多数人遇到的例子是jsonstream。JSONStream 和 jsonstream 是不同的包但是很难区分,在一些大小写不敏感的系统中安装这些包就可能有问题。

4. 好的包名可以帮助到所有人

我们希望新的包名规则可以帮助包开发者们挑选出合适的名字,并且能够帮助用户去避免意外获取到错误的包。

相关文章

  • npm新的包名规范

    npm官方对包的命名方式进行了一些修改,为的是更好的防御「误植」攻击,同时帮助包开发者们挑选出更加合适的包名 1、...

  • npm新的包名规范

    npm官方对包的命名方式进行了一些修改,为的是更好的防御「误植域名」攻击,同时帮助包开发者们挑选出更加合适的包名。...

  • npm install -s与-d的区别

    npm i 包名 -S =======npm install 包名 --save npm i 包名 -D ====...

  • 02-nmp包管理工具

    - Node.js包管理工具 npm :基于包的规范实现的一个包管理工具 - npm install 包名 当执行...

  • npm常用命令

    npm ls 【包名】查看已经安装的包 npm install 【包名1 包名2】【--save-dev】 安装包...

  • Node npm操作常用命令行

    安装包npm install 包名 执行即会安装这个包和它所依赖的所有包别名:npm i(简写)npm i 包名@...

  • npm, yarn常用命令&问题

    下载/卸载 npm install [包名] 下载npm install [包名]@1.0.0 下载指定版...

  • Angular 学习笔记

    几个常用命令 npm + ng npm i --save 包名:软件依赖 npm i --save-dev 包名...

  • npm发布包

    一、发布一个新包 第一步:进入要发布的项目根目录,初始化为npm包: npm init 依次按提示填入包名、版本、...

  • validate-npm-package-name 源码学习

    用法 validate-npm-package-name 这个 npm 包的作用就是验证项目名称 (npm 包名)...

网友评论

      本文标题:npm新的包名规范

      本文链接:https://www.haomeiwen.com/subject/rsiqvhtx.html