准备工作
- 注册npm账户 地址
- 检查自己的镜像源,切回到官方的,否则各种报错
npm config get registry //查看当前源地址是否为官方的
- 切换回官方源地址
npm config set registry https://registry.npmjs.org/
发布
发布后, cnpm ,yarn,npm 都可以拉取下来
- 查看npm账号是否登录
npm whoami
- 登录自己的npm账号
npm login
- 推送(在你包的目录下操作)
npm publish
其他
- 修改了包再次发布,需要去package.json修改版本号,否则推送不上去
"version": "1.0.1",
- 删除包
删除后24小时后才能发布同一个名字的包
npm unpublish <package-name> -f
- 删除单个版本
npm unpublish <package-name>@<version>
package.json
中的bin
和main
有什么区别?
main
是指向我们的程序入口,引用包的地方可以直接引用包名
require("包名");
没有指定
main
, 需要手动指定你的程序执行入口,引用你包的同学很有可能会骂骂咧咧的退出使用并抛给你一个灵魂拷问:这是什么垃圾?
<!--手动指定入口-->
require("包名/dist/index.js");
bin
相当于定义一个全局命令,vue create
中的vue命令就是这么来的,bin能让你的命令能够在任何一个目录下执行,相当于注册了全局环境变量
"bin": {
"vue": "bin/vue.js"
},
- 包名 name
package.json
中的name是你的包名,不能和npm
中现有包名重复