如何把自定义的nodejs模块发布到npm

本文详细介绍了如何将自定义的Node.js模块发布到npm。首先,需要一个npm账号并登录。接着,创建模块目录,通过`npm init`生成`package.json`,并填写必要的信息。发布模块使用`npm publish`命令,更新模块时需修改`version`。遇到问题如cnpm报错、版本号错误或登录失败,可参照文中解决方案处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何把自定义的nodejs模块发布到npm

   平常在nodejs、vue、react的开发过程中,经常会使用到这样的命令 npm install xxx --save,从npm下载安装模块到本地。

那么问题来了,这些模块是怎么上传的呢,自己可不可以编写一个模块上传到npm,供其他人下载的呢。

肯定是可以的。

一、npm包发布

可以通过npm publish方式将我们的本地模块上传到远程仓库,我们npm publish发布的时候,一定是本地文件发布到远程仓库,并且登录到http://registry.npmjs.org(即npm adduser或npmlogin)之后,才可以进行发布。

实现步骤:

1、npm账号

首先需要一个 npm 的账号. 可以在 https://www.npmjs.com/ 网上注册, 或者 npm adduser

然后登陆这个账号 npm login, 按照提示填入用户名, 密码, 邮箱

2、创建模块目录nodejshello02,并定义模块

hello.js

var str='hello nodeJs';

exports.hello=str;  /*暴露模块*/

3、cd进入到nodejshello02模块下   npm init生成,生成 package.json 模板.并且修改 package.json 文件

package.json:

{
  "name": "nodejshello02",
  "version": "1.0.0",
  "description": "",
  "main": "hello.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": "https://gitee.com/kerryqpw/nodejsHello.git"
  },
  "author": "",
  "license": "ISC"
}

里包含了模块的基本信息, 最主要是

  • name: 模块名称, require 需用到
  • version: 版本号
  • description: 描述
  • main: 主文件
  • scripts: 略过
  • keywords: 略过
  • author: 略过
  • license: 略过
  • bugs: 略过
  • homepage: 略过
  • repository    远程仓库信息(大多使用git,码云和github都可以)

 

4、一键发布: npm publish. 提示完成后就可以在 nodejshello02上找到了. 例如 https://www.npmjs.com/package/nodejshello02

 

5.npm更新

如果你以后修改了代码,然后想要同步到 npm 上的话请修改 package.json 中的 version 然后再次 publish,更新的版本上传的版本要大于上次

6.安装npm包

  为了体验和测试自己上传的包,可以换一个目录执行 npm install xxx --save 安装它:

npm install xxx -save --registory=http://registory.npmjs.org

 

 

二、npm包发布问题及解决

1.使用 cnpm 的注意报错:

no_perms Private mode enable, only admin can publish this module

 设置回原本的就可以了:

npm config set registry http://registry.npmjs.org 

2.npm包package.json中registory属性一定要填写,每次publish npm时package.json中version版本一定要大于上一次。

3.npm publish failed put 500  unexpected status code 401这样的报错信息,往往是没有登录成功,操作npm login

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慕容屠苏

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值