Node.js入门系列(五)Node.js的模块管家:npm

3,600 阅读6分钟

写在前面

VUE3.0和Webpack5相继在周末发布,又开始技术焦虑了吗?铺天盖地的源码解析带来的焦虑和自我好奇心的驱使,使自己放下了手里正在学的东西,赶紧看了看最新的技术。结果,新的没学会,老的也半途而废。

汉·刘安《淮南子·说林训》中说:

逐鹿者不顾兔

不能专一于只做一件事,结果往往所有的事都会半途而废。所以,即使VUE、webpack都更新了,这一节,依然选择Node.js继续分享。

上集回顾

如果首次翻到这篇文章,强烈建议大家从第一节开始读起,你将收获更多,这个系列没有夸大的标题,内容却有足够的广度,相信一定能让你看到不一样的解读。同时,每一篇字数都不多,5-10分钟可读完,如果暂时时间不充裕,可点击关注或赞,日后在“动态”中可找到此系列文。

请点击这里跳转需要阅读的章节:

漫谈Node.js入门
Node.js入门系列(一)特点、适用场景、解决的前端痛点问题
Node.js入门系列(二)模块、REPL
Node.js入门系列(三)开发调试、全局内置函数和变量 【写给初入前端职场同学的话】,顺便聊聊:Node.js入门系列(四)事件处理机制及事件环机制
webpack原理与实践(一)为什么选用webpack



本节学习目标

1)npm的基础知识及使用
2)npm包发布的简易流程

本节学习目录

一 npm的基础知识及使用

二 如何发布自己的NPM包

三 本节小结

四 下期预告

五 文末

一 npm的基础知识及使用

NPM是什么?

npm是Node.js的包管理工具,你可以把它看成是Node.js的模块管家。

NPM从哪来?

NPM是随同Node.js一起安装的,也就是说,NPM也已经一起被安装了。所以,使用NPM无需再次额外安装。

我怎么知道安装Node.js的是NPM也被安装成功了?

可以通过输入 "npm -v" 来测试是否成功安装,如果命令行输出版本号,则意味着安装成功。

NPM版本老了,我想更新到最新版本的,怎么办?
npm install npm -g
NPM具体有什么用?

NPM,它的主要作用有三个:

1)允许用户从NPM服务器下载别人编写的第三方包到本地使用。

2)允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。

3)允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

小结,NPM是联系本地包和服务器的通讯手段,无论你是想用别的包,还是想让别人使用你的包,都可以通过NPM进行连接。

怎么去安装第三方包?

NPM三大作用第一个---下载别人编写的第三方包到本地使用,使用命令很简单,首先你得知道别人那个包在服务器上叫什么名字,然后你才能针对性的去下载它,语法如下:

npm install <Module Name>
我就安装了一个包,为啥这么慢,能快点安装吗?

NPM从远程服务器拉取资源是相当慢的,为解决这一问题,国内很多企业开发了镜像,类型很多,其中淘宝镜像资源库,是常用的几大镜像库,可以使用淘宝镜像加快下载速度,语法如下:

npm install -g cnpm --registry=https://registry.npm.taobao.org

从此,就可以使用cnpm安装第三方包了,大大加快了连接速度。

我安装某个包,中途出错了,如何删除重装?

有安装就有删除,删除的命令是:

cnpm uninstall <Module Name>

此外,还有以下常用命令:

更新模块:

cnpm update <Module Name>

搜索模块:

cnpm search <Module Name>
小结

数据操作四大天王:增删改查。

我们发现,上面介绍的NPM操作增删改查都涉及到了,可以有没有发现,我们都是操作别人的包,我们自己在“增”这个方式上能不能新加一个呢,怎么发布自己写好的包呢?

二 如何发布自己的NPM包

在发布自己的包之前,我们还需要一些基础的准备工作:

1)注册npm账户

网址: https://www.npmjs.com/signup

注意,慎重起名字,发布的时候后用到

2)全局安装nrm

cnpm i nrm -g // nrm是npm仓库管理的模块,可控制npm仓库

3)检查需要发布的包文件结构 npm官方建议规范的包至少包含以下三个文件:

☆ package.json(包的基本描述信息,包含依赖的其他包的版本及名称)
☆ README.md(文档说明,用于使用者快速了解整个包的相关信息)
☆ index.js (入口文件,整个包的最先开始解析的文件)

如果没有package.json,可使用以下语法生成:

cnpm init

如果没有README.md,需要手动建立文件并使用MarkDown语法进行编写;

如果没有index.js文件,需要手动建立文件并使用js语法编写入口文件。

当内容齐全,且具备上述三个文件时,只需要最后一步了---发布,语法如下:

cnpm publish

如果没有其他错误,接下来,就可以到官网去搜索自己刚刚发布的第三方包了:

网址:  https://www.npmjs.com/

至此,我们完成了npm包发布的全部过程。要说明的是,npm目前已经被GitHub合并,这使得npm有了强大的后援支持,平时自己封装的第三方库,完全可以发布到npm上,以便在远程使用。

这里其实还涉及到发布局域性的包,和包的迭代和维护,但此篇的目的在于了解npm的基础知识及作用,详细的维护流程可在实际需要时再次实践。

好了,有了npm包的发布流程,增删查改属性就齐全了。

三 本节小结

0)Node.js是如何实现模块管理的?
1)如何对npm包进行增删查改?
2)如果要实现工具函数封装共享,你有哪些方案?
3)发布一个npm包有哪些基础过程及要求?

四 下期预告

Node.js讲到这里,目前已经是第六篇了,基础知识基本健全。到后面,就是Node.js内置模块的相关知识了,建议,再从第一篇快速阅读,回忆总结6篇所概述的Node.js基础。

四 文末

好文章,需要你的支持,点个赞,评论区前排沙发欢迎交流。

前端格局,带你看有深度的前端世界,搭建属于自己的知识架构

关注我,跑的更快一点。