前段时间,我们邀请了我们“城”内(葡萄城)资深开发工程师刘涛为大家分享了一次干货满满的关于电子线上公开的课,在课程过程中有不少同学对于NPM的概念和用法有一些疑问,所以这次我们希望通过这篇文章来解答各位同学的问题。另外在介绍的基础上,我们还会适当的深入介绍下,如何在NPM上发布第一个属于自己的包。那么,让我们马上开始吧!
得益于Node . js的模块化生态系统,我们基本上可以把NPM认为是任何节点项目的基础组成的一部分。但实际上,我们甚至可以说NPM是节点。js开发人员在开发者社区中最重要的工具之一。毕竟,他们每天都使用它来管理他们的项目使用的包。
但是,除了用它安装软件包外,大家是否真正深入了解过NPM呢?因此,我将尝试介绍该工具的基础知识,让您更深入地了解并使用它,而不是仅仅了解NPM安装而已。
包管理
我们都知道你可以使用NPM安装软件包,但究竟是什么意思呢?包基本上是包含您需要的代码的文件夹,您可以在本地或全局安装它。
本地安装
本地安装意味着您实际上将文件下载到项目的文件夹中。在其中,您将找到一个您未创建的目录,称为“node_modules”。由于这种简单的机制,这个本地文件夹可能会变得非常大。
那么究竟这个文件夹有多大?一张图来为你形容:
其实这只是个玩笑,通常你可以忽略该文件夹,让节点。js为你处理它。
要执行本地安装,您只需:
npm美元安装(包名)
您可以添加<代码>保存> 代码后缀,节点会把包名称和版本保存到您的<代码>包。json代码>文件中。请记住,这一点很重要(<强>甚至至关重要强>),因为当你作为团队中的一份子在工作时,你不会分发,也不会将node_modules文件夹添加到版本控制系统(无论是GIT, SVN还是你正在使用的任何版本管理系统),而只需简单地分享<代码>包。json代码>文件,然后让你的队友执行<代码> npm美元安装代码> 命令,即可完成包的安装和更新。这比共享整个文件夹更快,更容易维护,整个文件夹可以增长到包含千兆字节的数据。
以下是一个<代码>包。json代码>文件的结构:
{
“名称”:“项目名称”,
“版本”:“1.0.0”
“描述”:“这是一个基本的描述”,
“主要”:”指数。js”,
"脚本":{
“测试”:“echo \”的错误:没有测试指定\”,,退出1”
},
"作者”:“费尔南多Doglio”,
"许可证":" ISC”,
"依赖":{
"配置":" ^ 3.1.0”,
“表达”:“^ 4.17.1”,
"套接字。io”:“^ 2.2.0”,
"温斯顿”:“^ 3.2.1”
}
}
您可能会改变一些,具体取决于您安装的软件包,或者您需要的文件的哪些字段(上面的示例中没有使用的其他许多字段)。
全局安装
您还可以全局安装软件包,这意味着节点。js将能够从您可能需要的任何项目中访问它们。这样做有什么问题吗?全局安装的包不会添加到<代码> package.json 代码>文件中,那么既然不会添加到包中。json中,那么为什么要安装全局安装呢?
使用节点。js和NPM能做的一个很棒的原因之一就是构建人们通常称之为“二进制文件”的东西,它们只是可以全局安装的脚本,因此可以从盒子的任何位置访问。这意味着您可以创建命令行工具并使用NPM来安装它们!
例如:ExpressJS(节点。null