什么是npm,怎么发包到npm

1.什么是npm

在node.js中有许多的第三方模块(简称包,我们常说的插件/工具),npm.Inc公司提供了一个专门查询这些第三方包的网址https://www.npmjs.com/;

查询到了想要的包后就需要下载,那么npm.Inc公司提供了一个下载这些第三方包的服务器地址https://registry.npmjs.org/;

npm的全称是Node Package Manageer(Node包管理工具),使用这个工具就可以下载我们常说的插件(工具),其实就是第三方包;

这个包管理工具随着Node.js的安装就会一起安装好,所以前端开发需要的环境node.js是必不可少的

2.使用npm工具安装第三方包

在项目根目录下启动终端输入npm install 包名称;可以简写成npm i 包名称,默认安装最新版本

安装指定的版本使用@+版本号,例如npm i moment@2.30.1

想替换某个版本直接输入安装命令就会替换无需卸载,例如2.30.1替换成2.0.1,例如npm i moment@2.0.1

版本号的含义说明,例如2.30.1

第一位数:大版本,该包从底层逻辑有重大重构时第一位数会发生变化

第二位数:功能版本,该包有功能性更新时第二位数会发生变化

第三位数:Bug修复版本,该包修复了Bug时所更新的版本

版本号提升规则:前面的提升了,后面的就要归零

3.npm安装第三方包的方式的理解

http://t.csdnimg.cn/IBAk3

4.将自己的包发布到npm

4.1 注册npm账号

4.1.1 访问 https://www.npmjs.com 点击sign up按钮,进入注册用户界面

4.1.2 填写账号相关的信息

4.1.3 点击Create an Account按钮,提交注册

4.2.在终端登录npm账号

4.2.1 需要先切换npm的服务器为官方服务器而非淘宝镜像服务器

npm官方服务器:npm config set registry https://registry.npmjs.org/

淘宝镜像服务器:npm config set registry=https://regidtry.npm.taobao.org/

说明:所有包都是在npm官方服务器,因为这是海外服务器,因此我们国内要下载这些包就比较慢;因此,国内就自己搞了一个服务器(淘宝镜像服务器),这个服务器和npm官方服务器一模一样,也可以下载所有第三方包。这个服务器是将npm官方服务器中的包缓存在这个服务器中,会不断地更新,因此,我们下载这些包就可以更快

4.2.2 在终端输入npm login命令,以此输入用户名 密码 邮箱后,即可登录成功

说明:可能会遇到问题,解决方法看npm login问题汇总-CSDN博客

4.3.把包发布到npm上

4.3.1将终端切换到包的根目录之后,运行npm publish命令,即可将包发布到npm上(注意:包名不能雷同)

4.4.删除已发布的包

4.4.1 运行npm unpublish 包名 --force 命令,即可从npm删除已发布的包

4.4.2 npm unpublish 删除包只能删除72小时以内发布的包,删除之后24小时以内不许重复发布

相关推荐
10年前端老司机23 分钟前
Next.js+LangGraph.js+ 简历工具AI Agent完整落地
前端·langchain·agent
IT_陈寒5 小时前
Java中equals方法比了个寂寞?原来这才是正确的重写姿势
前端·人工智能·后端
默_笙5 小时前
🚓 分诊台与拆题术:让 RAG 学会判断和规划
前端·javascript
CopyCode5 小时前
用 AI 迁项目有多爽?我把 Webpack 迁 Vite 的全过程记下来了
前端·架构
去伪存真5 小时前
Electron 自动化发布指南:GitHub Actions 跨平台打包全纪录
前端·electron
计算机魔术师5 小时前
OpenAI智能体失控闯进美国政府网站,53张用户图片外泄背后
前端
颜进强5 小时前
14 · NestJS ExecutionContext 执行上下文:守卫、拦截器、过滤器拿到的"同一个 context",为什么能力不一样?
前端·后端·ai编程
濮水大叔5 小时前
Cabloy全栈框架的两个SSR入口:Vona集成式SSR vs Zova独立式SSR
typescript·node.js·全栈
程序员Flycan5 小时前
🚀 跨域终结者:前端代理服务器(Proxy)原理解析与配置总结
前端
怕浪猫5 小时前
顶级模型一句话,AI 写出了能玩的 QQ飞车
前端·面试·github