如何开发一个自己的包并发布到npm
注册npm账号
点击 npm官网 注册自己的账号
构建一个自己的包
本地新建一个文件夹
文件夹内新建三个文件,index.js,package.json,README.md
index.js:写分享出去的对象。
package.json:写name:包的名字(必须),version:版本号,main:包的入口文件,以及其他相关配置信息。
注意:package.json中的name在npm官网上搜一下,必须具有唯一性
比如

README.md:说明文档,没有特殊要求
下面举一个例子,构建一个将一个数据转换为万元为单位的包
包的结构如下:

index.js内容如下:
const thousand=require('./dist/thousand');
module.exports={...thousand
}
dist/thousand.js内容如下:
const formatAsTenThousand = number => {if (!number) return "";return (number / 10000).toFixed(1);};exports.formatAsTenThousand=formatAsTenThousand
package.json内容如下:
{"name": "thousand_tools","version": "1.0.0","main": "index.js","description": "将一个数据转换为万元为单位","keywords": ["thousand","escape"],"license": "ISC","dependencies": {"thousand_tools": "^1.0.0"}
}
README.md内容自己看着写
登录npm账号
确认本地终端为npm
在登录之前,要确认本地的镜像源为npm官方服务器,否则会导致发布失败。在终端输入:
npm config get registry
![]()
上图看出本地终端是淘宝镜像,所以要切换当前镜像为npm
切换npm镜像
两种方式
1、nrm 镜像源管理
终端输入npm i nrm -g,全局安装nrm
npm i nrm -g
安装完成后,在本地终端输入nrm ls,查看可用的镜像源
nrm ls

上图表示,当前镜像源为npm
第一次上传包之前,终端输入 nrm use npm,确保切换镜像源为npm
nrm use npm
nrm use 镜像源名称,表示切换为当前镜像源。比如nrm use yan,nrm use taobao等
2、命令行直接切换
终端直接输入npm config set 镜像源地址进行切换
npm config set https://registry.npmjs.org/
终端登录npm
终端输入npm login
npm login
按照提示输入账号,密码
登录完成之后,可以终端输入 npm whoami确定是否登录成功
npm whoami
发布包到npm
按照上面步骤,登录成功之后,切换到要发布的包的根目录,终端输入npm publish
npm publish
然后回到npm官网

看到上图,thousand_tools包即发布成功。
删除包
终端输入
npm unpublish thousand_tools --force
npm unpublish 包名 --force,即可从 npm 删除已发布的包。
比如删除上面thousand_tools包
注意:
npm unpublish 命令只能删除 72 小时以内发布的包
npm unpublish 删除的包,在 24 小时内不允许重复发布
