发布自己的包到npm官方库

一、首先创建项目 生成package.json

npm init

package name: (hktest) //包名,可更改,也可以使用默认(直接回车)

version: (1.0.0) 0.0.1 //版本,可更改,也可以使用默认(直接回车)

description: 演示上传npm包 //项目描述,方便别人了解你的模块作用,搜索的时候也有用

entry point: (index.js) //指定了程序的主入口文件,可更改,也可以使用默认(直接回车)

test command: //测试命令(直接回车)

git repository: //git仓库(直接回车)

keywords: //一个字符串数组,方便别人搜索到本模块,可更改,也可以使用默认(直接回车)

author: hk//作者,可更改,也可以使用默认(直接回车)

license: (ISC) //你可以在https://spdx.org/licenses/这个地址查阅协议列表 ,可更改,也可以使用默认(直接回车)

二、创建index.js入口文件
const sortName = (name) => {
  return "用户" + name
}

export { sortName }
三、新建README.md文件
  1. npm install
    检查代码是否报错
  2. npm link
    可以帮助我们模拟包安装后的状态,它会在系统中做一个快捷方式映射,让本地的包就好像 install 过一样,可以直接使用。
四、登录发布

登录npm账号:

npm login

没有账号就去npm官网注册或者命令行注册:

npm adduser

登录好了就可以执行发布了:

npm publish

五、安装
npm   install   mylibhanzhen

import { sortName } from 'mylibhanzhen/index';
六、更新包及删除、撤销已发布的npm包

更新直接执行:

npm publish

每次发布要改变版本号,且版本号要比上一次版本号大

这里简单介绍一下版本号。

语义版本号分为X.Y.Z三位,分别代表主版本号、次版本号和补丁版本号。当代码变更时,版本号按以下原则更新。

如果只是修复bug,需要更新Z位。

如果是新增了功能,但是向下兼容,需要更新Y位。

如果有大变动,向下不兼容,需要更新X位。

删除、撤销已发布的npm包

npm unpublish test //撤销已发布的包

npm unpublish test --force //强制撤销

npm unpublish test@1.0.2 //可以撤销发布自己发布过的某个版本的代码

七、发布遇到的问题及解决方案
1、这一步的常规报错及处理

npmERR!publishFailedPUT403
npmERR!codeE403
npmERR!no_permsPrivatemode enable,only admin can publish this module:
出现原因:使用的是淘宝源cnpm,登陆到的是cnpm
解决方法:切换到npmjs的网址,代码如下
npm config set registry https://registry.npmjs.org

2、包名重名报错

报错403:You do not have permission to publish “xxx”. Are you logged in as the correct user?
出现原因:所要publish的包的name和npmjs网上已经发布的包的名字重复,所以收你没有权限发布这个名字的包。(简单解释就是你想要的名字被别人抢先注册了)
解决方法:找到package.json文件,把name的值换掉。如果还出现上述错误就是还是重名的,继续换!

3、未激活邮箱报错

报错403:you must verify your email before publishing a new package:
出现原因:没有用邮箱激活登录到注册账号的邮箱 激活一下就好了

八、npm包过滤上传文件 .npmignore

当你上传包到npm库时,有一些本地的依赖文件和测试demo等不想上到npm库里,这时就要用到.npmignore过滤文件了,在根目录下新建文件取名.npmignore,用编辑器打开写入你想过滤文件类型就可以了。

eg:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值