最近写了一个ui组件库的demo,然后发布到了npm上,在此记录一下npm发包流程以及遇到的问题。
1、注册账号
在npm.js 上注册一个自己的账号,若已有账号,则登录即可 npm login
2、项目准备
新建一个项目,初始化项目配置 npm init
,例如我的项目配置如下:
"name": "youyou-ui", //包名
"version": "0.1.0", //版本号
"publisher": "youyoua", //发布人
"publish": true,
"files": [ //发布的文件
"lib"
],
"main": "./lib/index.es.js", // 入口文件
注意:发布时,可以在npm.js 上搜索一下,包名是否跟别人的包名重复,如果重复或相似,发布都会失败的,需要改一下包名。
3、npm link 调试
在插件或者包写完之后,我们需要在本地进行调试,调试没问题才发布,假设现在有两个项目,一个是 hh-ui
,是要开发的npm模块,一个是 demo
,是要运用npm 模块的项目。
1)首先,进入 hh-ui
项目,执行npm link
cd hh-ui
npm link
执行命令后,hh-ui 会根据package.json上的配置把本地模块注册到全局,路径是 C:\Program Files\nodejs\node_modules\youyou-ui
,也可以通过 npm config get prefix
获得该路径
2)进入 demo
项目,执行npm link npm-name
cd demo
npm link youyou-ui
注意:这里的npm-name 是指 package.json 中配置的模块名称即包名。
链接成功,我们就可以像 使用真正的npm包,在本地项目调用啦。
4、发布
1) npm login
添加npm账号、密码、邮箱
注意,这里的密码,输入是不显示的,不要认为是你的键盘有问题哦,哈哈
在输入账号信息之后,npm ERR! 426 Upgrade Required
报错,查资料发现npm发版安全升级了,需要升级node 版本,看到网上说npm config set registry https://registry.npmjs.org/
可以解决,但是试了一下没成功,后面安装nvm把切换node版本到14.18.2,解决了问题。
nvm install 14.18.2
nvm use 14.18.2