什么是 Npm
npm 是 JavaScript 著名的包管理工具,是前端模块化下的一个标志性产物。简单来说就是通过 npm 下载模块,复用已有的代码,提高工作效率。
- npm 由三个独立部分组成:
- 网站
- 注册表(registry)
- 命令行工具(CLI)
前面的博客已有关于 npm 的大致介绍,这里不再详细说明,本次主要记录下如何在 npm 上发布自己开发的包或模块。
准备步骤
- 首先需要在 https://www.npmjs.com/ 上有一个自己的账号,注册账号这里不再说明
- 需要有一个已初始化过的项目
初始化的默认字段介绍
- name:发布的包名,默认是上级文件夹名,不能与现有 npm 中的包名重复,包名不能含有大写字母、空格、下划线。
- version:包的版本号,默认是 1.0.0 对于 npm 包的版本号有着一系列的规则,模块的版本号采用 x.y.z 的格式,具体体现为
- 1、修复 bug,小改动,增加 z
- 2、增加新特性,增加 y
- 3、有很大的改动,增加 x
- description:项目简介
- main:入口文件,默认 index.js,可以修改自己的文件
- scripts:包含各种脚本执行命令
- test:测试命令
- author:作者名,写自己的账号名
- license:开源协议,使用默认即可
- 可以在 package.json 中添加属性来配置 git 仓库地址
"repository": { "type": "git", "url": "git@github.com/test.git" }
登录账号
如果第一次发布 npm 的话需要配置下账户,如下所示:
npm login 或者 npm adduser
1. Username: user.name(自己注册的用户名)
2. Password: user.password(自己注册的密码)
3. Email: (this IS public) xxxxxxxx@qq.com(自己的邮箱)
4. Logged in as xxx on https://registry.npmjs.org/.(成功提示)
ps:如果登录失败,可以尝试临时换下官方镜像进行登录。
npm config set registry https://registry.npmjs.org #设置官方镜像源
npm config set registry https://registry.npm.taobao.org #发布完毕可以在设置回淘宝镜像源
添加完成后可以使用:npm whoami
命令查看当前登录状态
publish 发布
- 命令:
npm publish
成功通知:+ testpack@1.0.0
发布成功后可以通过 npm 官方看到自己已发布的包 - 安装自己的包
- 像其他包一样,直接使用命令:
npm i/install testpack
即可
- 像其他包一样,直接使用命令:
删除包
命令执行:npm unpublish
示例如下:
npm unpublish testpack@1.0.0
删除某个版本npm unpublish testpack --force
删除整个 npm 市场的包
删包推荐说明:npm unpublish
的推荐替代命令:npm deprecate[@],并会在社区里撤销你已有的包,但会在任何人尝试安装这个包的时候得到警告,例如:npm deprecate testpack '这个包已不再维护'
ps:如果报有关权限的错误,加上--force
更新包
假设第一次创建的包默认版本为 v1.0.0,你已经做了修改,那么要更新到远程需要使用以下方法,注:查看包的版本命令可以使用
npm view testpack versions
查看
- 在本地更新这个包的版本,使用命令
npm version <update_type>
- 提交到远端 npm 中,使用命令
npm publish
- 修改版本一般规则:依赖于 update_type,以版本号 1.0.0 为例
- patch:英文为补丁意思,小更改建议使用,执行一次结果为 1.0.1
- minor:做了一些更改添加了一些方法比 patch 的感觉再多了点,结果为 1.1.0
- major:做了大更改,执行结果为 2.0.0
总结
npm 个人包的发布,更新,删除简单基本使用就这么多了,值得注意的是 npm 社区有以下规则,删除同名的包需要在 24 小时候才能重新发布,已发布的包只能在 72 小时内才能删除,否则后悔后只能通过官方来帮你解决了
希望所有的 Bug 都会报错~