准备工作

  1. node版本v14.18.0以上
  2. 将npm更新至新版本(npm install -g npm@latest

一、注册npm账号

注册地址:https://www.npmjs.com/

二、初始化项目

新建项目目录,使用npm init命令创建package.json文件,按照提示填入初始信息。

如模块名称:mikey-npm-test(只能是小写)

初始版本号选择:v1.0.0

模块名称需遵循相关政策要求:https://www.npmjs.com/policies,不能够与已有NPM模块名冲突等等。

创建入口文件如index.js

function npmPublishTest(){
    var name = 'Mr.Mikey';
    var test = function() {
	console.log('Hello, my first NPM package')
    }
    return {
	name,
	test,
    }
}

module.exports = npmPublishTest()

创建README.md文件,填写说明文档如:

1645685426.png

一个基本的npm包文件结构如下

1645685456.png

三、登录npm

注意源的问题,只有npm官方源可以登录成功,如果报错403,一般是因为非npm官方源,可通过npm get registry命令查看源信息,切换源可以使用nrm进行管理。

简单的处理方式是在不确定源的情况下直接命令后带上源地址:

npm login --registry https://registry.npmjs.org

根据提示输入之前注册的用户名、密码、邮箱,按回车后会发送验证邮件到注册邮箱,需填入验证码后再次回车确认,登录成功如下图所示

1645685591.png

四、发布npm包

注意源的问题,只有npm官方源可以发布成功,命令后带上源地址即可

npm publish --registry https://registry.npmjs.org

发布成功状态如下图所示

1645685802.png

登录npm官网即可看到已经发布的包

1645685875.png

五、后续更新npm包

修改代码后,执行命令自动叠加版本号:

npm version patch

每次产生修改发布必须要修改版本号,npm不允许修改内容后发布相同的版本号

迭代版本号之后重复第四步:

npm publish --registry https://registry.npmjs.org

六、撤销发布(慎用)

npm unpublish 包名@版本号 --force (根据需要接上npm源地址)

示例:npm unpublish mikey-npm-test@1.0.0 --force --registry https://registry.npmjs.org

说明:撤销发布的包被认为是一种不好的行为,因为如果有团队使用和依赖你的包时,撤销便会造成很大的影响。

  1. 根据规范,只有在发包的24小时内才允许撤销发布的包

  2. 即使你撤销了发布的包,发包的时候也不能再和被撤销的包的名称和版本重复了(即不能名称相同,版本相同,因为这两者构成的唯一标识已经被"占用"了)

作者:|小陈同志丶Go|,原文链接: http://www.imooc.com/article/331145

文章推荐

https 原理与实践

Java 桥接模式(Bridge Pattern)

记一次 Oracle 下的 SQL 优化过程

.NET开源分布式锁DistributedLock

iOS APP启动广告实现方式 与 APP唤端调用

Gvm安装的go在Vscode中无法识别并且无法安装Vscode的go环境

Kotlin 与 JAVA 不同之处

JS 如何实现“上次操作未完成之前,禁止新的操作”的逻辑

【JS 逆向百例】某音 X-Bogus 逆向分析,JSVMP 纯算法还

深入浅出Nginx实战与架构

Go中rune类型浅析

详解SQL操作的窗口函数