曾静的博客

但行好事,莫问前程.

嗨,我是曾静 (@devzeng),目前暂居深圳。


这是我用来记录平日学习笔记的地方,欢迎您的访问.

如何将自己的Node.js包发布到npm上面

早前写过一篇《使用Verdaccio搭建npm仓库》介绍如何搭建私有的npm包托管的环境的文章,比较适合将私有的Node.js包发布上去。本文主要记录一下发布一个公开的package到npm的过程。

npm-intro.png

1、注册账号

前往https://www.npmjs.com注册账号,并按照要求验证邮箱。

2、Node.js包

创建package.json文件,如下:

{
  "name": "gitlab-systemhook-handler",
  "version": "0.1.0",
  "description": "Web handler / middleware for processing Gitlab System hooks",
  "main": "gitlab-systemhook-handler.js",
  "scripts": {
    "test": "node demo.js"
  },
  "keywords": [
    "gitlab",
    "systemhook"
  ],
  "author": "zengjing <hhtczengjing@gmail.com>",
  "repository": {
    "type": "git",
    "url": "https://github.com/hhtczengjing/gitlab-systemhook-handler.git"
  },
  "license": "MIT",
  "dependencies": {
    "bl": "~1.1.2",
    "buffer-equal-constant-time": "~1.0.1"
  }
}

说明:

  • (1)name: 包的名字
  • (2)version:版本号
  • (3)main:入口的JS文件名称
  • (4)repository:源码路径
  • (5)dependencies:依赖库

3、登录

命令行输入:npm login,如果设置了第三方的registry,可以在后面加上--registry https://registry.npmjs.com/,然后按照要求输入用户名、密码和邮箱即可完成登录。

➜ npm login --registry https://registry.npmjs.com/
Username: zengjing
Password: 
Email: (this IS public) hhtczengjing@gmail.com
Logged in as zengjing on https://registry.npmjs.com/.

4、发布

命令行输入:npm publish,同上如果设置了第三方的registry,可以在后面加上--registry https://registry.npmjs.com/

➜ npm publish --registry https://registry.npmjs.com/
npm notice 
npm notice 📦  gitlab-systemhook-handler@0.1.0
npm notice === Tarball Contents === 
npm notice 582B  package.json                
npm notice 762B  demo.js                     
npm notice 2.5kB gitlab-systemhook-handler.js
npm notice 1.3kB README.md                   
npm notice === Tarball Details === 
npm notice name:          gitlab-systemhook-handler               
npm notice version:       0.1.0                                   
npm notice package size:  1.9 kB                                  
npm notice unpacked size: 5.1 kB                                  
npm notice shasum:        115e54761497edeb3187617f6b683f2300f877b4
npm notice integrity:     sha512-zNm/3Tzps0HUJ[...]ZoHOcyTeckDuA==
npm notice total files:   4                                       
npm notice 
+ gitlab-systemhook-handler@0.1.0

然后到npm的后台可以看到发布成功的package了:

packages.png

如果遇到如下的错误:

403_error.png

表示没有验证邮箱,请先到注册的邮箱验证,然后重新发布即可

参考资料

1、如何使用npm发布自己的npm包

2、npm 官网

最近的文章

搭建Flutter引擎源码调试环境

最近在排查问题的时候总会遇到一些和 Flutter 引擎相关的问题,需要直接能在Xcode里面挂在引擎的源码能进行断点Debug,这里记录一下搭建Flutter引擎源码调试环境过程:环境准备1、开发工具(1)下载depot_tools工具包depot_tools 是 chromium 使用的源码库管理工具,可以方便的管理源码以及对应依赖,通过gclinet可以获取所有的编译需要的源码和依赖git clone https://chromium.googlesource.com/chromiu...…

iOS继续阅读
更早的文章

在Docker上搭建WebDAV文件共享服务

近期由于一些不可抗力因素导致AirDrop被禁用了,平时对文档或者是一些安装包的共享还是有比较多的需求,在此记录一下使用Docker快速搭建WebDAV环境的过程。直接在命令行输入下面的命令即可快速完成安装:docker run -d -v /Users/zengjing/docker/webdav:/var/webdav -e USERNAME=test -e PASSWORD=test -p 8888:80 morrisjobke/webdav安装完成后通过浏览器:http://ip:...…

Note继续阅读