前言
我们在日常工作中,可能需要下载包、创建包、发布包等等。本篇推文将记录日常项目中关于npm包的操作。
引用包
npm仓库公开的包我们都可以通过npm install的命令进行引用下载。
而我们开发的业务公共组件需要在公司内部项目公共引用,而不希望公开为外人所引用。这个时候我们就需要部署私人NPM仓库。如阿里云效的npm私有仓库。

私有仓库拉取不到的包也可以设置代理从国内镜像服务器(如淘宝)或npm公共服务器进行拉取。

管理员可以通过界面配置用户权限和仓库中npm包。这个不多表。我们讲讲在日常工作中,我们应该怎么从私有仓库里拉取项目的公共包。
步骤一:
私有仓库其实就是把原本指向NPM源仓库的链接篡改为私有仓库链接。所以我们首先需要设置npm 默认仓库
bash
npm config set registry=https://packages.aliyun.com/xxxxxxxx/npm/npm-registry/
步骤二:
登录私有仓库配发的npm账号
bash
npm login
接下来,我们就可以回到自己的项目里执行npm ci或i了。这样子就会改从私有仓库拉取项目里的引用包文件了
创建包
步骤一:登录npm账号(可以到npm官网注册)
如果已经登陆了自己的npm账号,想要切换项目发包的账号,也可以用login进行切号
bash
npm login

步骤二:进入你的包目录
bash
cd npmDemo
步骤三:初始化
bash
npm init
填写相关的项目信息。

注意这里 的package name是上传审核完成之后你的包名,可以在npm官网搜到。

也可以用这个包名进行npm i安装
bash
npm i npm_demo_v_v
发布包
在包文件夹里执行发布命令:
bash
npm publish
发布包的注意事项
有的项目平时使用的都是国内的镜像仓库,比如淘宝。这个时候要先修改默认npm仓库源、
因为淘宝镜像源是只读源,所以要发布npm需要去npm源,不修改会报错
bash
nrm use npm
# 如果没有安装nrm可以使用原生
npm config set registry=http://registry.npmjs.org
如果是第一次发包,则需要执行:
bash
npm adduser
【需要添加npm账号,按要求输入名称、密码、邮箱、一次性登陆密码】

下架包
发布24小时后才可以下架
bash
npm --force unpublish npm_demo_v_v
更新包
按照自己的逻辑修改代码,最后修改package.json中的version。
bash
npm version patch //相当于是先本地更新然后上传包
npm publish