如何发布一个npm包

最近写了一个非常简单的头像生成器脚本,给定用户名或者任何字符串,给定大小,就会生成字符串的第一个字符作为图片主体的头像。支持Unicode编码字符。支持转成stream,支持转成buffer

Demo.

从0到发布到npm仓库需要踩才哪些坑呢?

将npm的registry设置为官方源

如果你不是淘宝npm镜像的用户,即可跳过这一步。

在国内,因为某些不可抗力。使用npm来安装node模块是非常慢的。所以大部分npm用户都使用了cnpm和淘宝的npm镜像,cnpm每10分钟和上游的npm同步。

但是如果想要发布npm包,就不能发布到cnpm了,就要将安装cnpm时候的设置的registry设置回官方的。

$ npm config set registry https://registry.npm.taobao.org

注册npm账号

将registry设置回npm官方源之后就可以注册账号了,如果你注册了就可以直接登录,npm login 或者 npm addUser

第一次执行npm addUser会在npm注册一个账号。

完成后就自动登录了。登录了npm账号才可以发布包。

npm包结构

.
├── README.md
├── example
├── lib
├── node_modules
├── package.json
├── index.js
└── test

对于一个npm包来说,package json是必须的。具体的package json内容可以自己执行npm init生成一个package json来查看。

但是有几点是必须注意的。

  • author这一项必须与当前的npm用户相同,否则是没有权限发布的。
  • main指定了包的入口。如果没有指定就默认为根目录的index.js
  • name作为你的包的名字,千万注意不要和npm上已有的包重名,npm不允许同名的包存在。所以发布如果报错
npm ERR publish 403
You do not have permission to publish 'somepackage'.Are you logged in as
the corrent user?:somepackage

最好先去npmjs.org查看你的包名是否已经被别人使用过了,或者运行npm search xxx来搜索。

发布

写好代码,index.js导出模块。

$ npm publish

就可以发布了

更新

更新package.json中的版本号,再次运行

$ npm publish
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • npm是什么 NPM的全称是Node Package Manager,是随同NodeJS一起安装的包管理和分发工具...
    build1024阅读 12,417评论 0 9
  • 大家好,我是IT修真院深圳分院第3期的学员,一枚正直纯洁善良的前端程序员,今天给大家分享一下,修真院官网前端工程师...
    大大头大阅读 8,017评论 0 1
  • 什么是 NPM npm之于Node,就像pip之于Python,gem之于Ruby,composer之于PHP。 ...
    ihoey阅读 11,384评论 2 36
  • 烦躁 剪不断,理还乱 别是一番滋味在心头 火大 楚山经月火 忽惊屋里琴书冷 窝心 假如感情能够解释 这不是随便传说...
    爱上一叶浮萍阅读 2,844评论 12 14
  • 【日精进打卡第14天】 《六项精进》 大纲,背诵3遍,共57遍 《 大学》诵读2遍,共42遍 其他经典,无 日行一...
    a92bbf37be2b阅读 1,033评论 0 0