来,体会一下npm包的发布、更新管理、使用——完整教程

1、本地创建项目

1.1、创建空文件夹

mkdir myFirstNpm

1.2、初始化项目

cd myFirstNpm

npm init

根据命令行提示,设置一些必要的package.json信息,简单展示如下👇

{
  "name": "xiaojt-npm-test001",
  "version": "1.0.0",
  "description": "my first npm",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "xiaojt",
  "license": "ISC",
  "dependencies": {
    "xiaojt-npm-test001": "^1.0.0"
  }
}

下面着重说一下package.json中的内容

  • name: 包名,后续在npm中搜索全靠它,跟项目名字没有关系
  • version:版本号,每发布一次npm包就要增加一个版本,每个版本不能重复。
  • description:描述
  • main: 本包向外暴露的文件,很重要,一定要和你打包出来的文件名一模一样
  • private: true/false 是否为私有。一般为false否则只有自己能使用
  • keywords: npm检索的关键字
  • author: 作者
  • license: ISC
  • ...

1.3、创建模块加载时的文件

创建 index.js 文件,用于安装依赖时,使用的文件

采用nodejs规范 commonjs,module.exports 导出,与之相对应使用该包时用 require 导入

function npmDemo(argument) {
  const name = 'xiaojt';
  return {
    name:name,
  }
  
}
module.exports=npmDemo();

至此,一个简单的待发布的npm包就创建好了,下面来看怎么发布npm👇

2、发布

官方文档

Note: Your npm client must be version 5.5.1 or higher to change your account settings from the CLI. To update to the latest version of npm, on the command line, run npm install npm@latest -g

如有必要,则先更新npm

注意:升级之后可能会造成npm在其他项目不可用或者安装依赖失败等问题(可以通过nvm切换版本解决或者切换 registry,影响可控)

npm install npm@latest -g

2.1、准备一个npm账户

npm官网 注册账号(网络你懂的👀)

注意:需要邮箱验证激活

2.2、npm adduser

先切换源,再登录发布包,必须使用npm origin ,不能切换成别的镜像

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

按照提示输入账户名、密码、邮箱,如下图👇

注意:邮箱验证码发送时间可能会受网路环境影响,这里耐心等待一会就好啦😊

如果这里报错,请直接看下文报错

2.3、验证是否登录成功

npm whoami

PS D:\mine-project\myFirstNpm> npm whoami
xiaojt
PS D:\mine-project\myFirstNpm>

还可以查看一下账户简介,如图所示

npm profile get

注意:npm adduser成功的时候默认你已经登陆了,所以不需要再进行npm login了

接着先进入项目文件夹下,然后输入以下命令进行发布

2.4、执行发布命令

这里使用公开方式发布包

npm publish --access public // 非公开
npm publish

发布成功

+ 你的文件名@version

3、报错

403

尝试如下办法解决:

  1. 账号密码输入无误
  2. 检查包是否重名——请检查npm官网上是否有同名项目,名字取决于 package.js 的项目名字段
  3. 网络正常
  4. 镜像源问题——切换原镜像
npm config set registry https://registry.npmjs.org

更多: 使用nrm管理registry地址

# 1. 下载nrm
npm install -g nrm

# 2. 添加registry地址
nrm add npm https://registry.npmjs.org
nrm add taobao https://registry.npm.taobao.org

# 3. 切换npm registry地址
nrm use taobao
nrm use npm

426

npm设置源的时候,要设置成 https 协议

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

other errors

更多错误案例解决,请查看这里

4、使用发布的npm

  1. 安装
npm install yournpmname -S
  1. 使用
const test_npm = require('yournpmname');
console.log(test_npm)
console.log(test_npm.name)
  1. 运行查看效果

如果没有配置 run code, 则使用 node 命令执行,比如: node src/libs/demo.js

可以看到输出结果

5、更新已经发布的包

比如: 创建一个 README.md 文件

> 这是我发布的第一个npm

## 安装

```bash
npm install yournpmname -S

or

yarn add yournpmname
```

## 使用

```js
var test_npm = require('yournpmname');
console.log(test_npm)
```

然后,修改版本号version,并发布

npm version patch
npm publish

5.1、npm version后面参数说明:

  • patch:小变动,比如修复bug等,版本号变动 v1.0.0->v1.0.1
  • minor:增加新功能,不影响现有功能,版本号变动 v1.0.0->v1.1.0
  • major:破坏模块对向后的兼容性,版本号变动 v1.0.0->v2.0.0

6、从npm上面卸载自己发布的包

npm unpublish <package-name> -f

7、git存储库链接到包

这个比较简单,不做介绍

8、添加 dist-tags

先更新version,后发布

npm version patch
npm publish --tag beta

8.1、把dist-tags添加到特定版本

npm dist-tag add xiaojt-npm-test001@1.0.2 stable

+stable: xiaojt-npm-test001@1.0.2

8.2、下载指定版本包并使用

tag: stable 已经关联到 V1.0.2

npm install xiaojt-npm-test001@stable
"dependencies": {
  "xiaojt-npm-test001": "^1.0.2"
}

🎈🎈🎈

🌹  本篇完,首发掘金,关注我,你会发现一个努力进步的宝藏前端😊

🎉 喜欢的小伙伴请点赞关注收藏

✨ 欢迎大家转发评论

🧨 蟹蟹😊

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

甜点cc

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值