NPM详解

本文将详细解析如何使用NPM发布自己的JavaScript软件包,包括必要的步骤和注意事项。
摘要由CSDN通过智能技术生成
3.1 Node.js 软件包
每一个基于 Node.js 平台开发的应用程序都是 Node.js 软件包。
所有 Node.js 软件包都被托管在 www.npmjs.com 中。
3.2 什么是 NPM
Node Package Manager Node.js 环境中的软件包管理器。随 Node.js 一起被安装。
它可以将 Node 软件包添加到我们的应用程序中并对其进行管理,比如下载,删除,更新,查看版本等
等。
它没有用户界面,需要在命令行工具中通过命令的方式使用,对应的命令就是 npm
NPM Node 是两个独立的应用程序,只是被捆绑安装了,可以通过版本号证明。
3.3 package.json
Node.js 规定在每一个软件包中都必须包含一个叫做 package.json 的文件。
它是应用程序的描述文件,包含和应用程序相关的信息,比如应用名称,应用版本,应用作者等等。
通过 package.json 文件可以方便管理应用和发布应用。
创建 package.json 文件 : npm init
快速创建 package.json 文件 : npm init -- yes
{
"name" : "project-name" ,
"version" : "1.0.0" ,
"description" : "" ,
"main" : "index.js" ,
"scripts" : {
"test" : "echo \"Error: no test specified\" && exit 1"
},
"keywords" : [],
"author" : "" ,
"license" : "ISC"
}
3.4 下载 Node.js 软件包
在应用程序的根目录执行命令: npm install <pkg> 或者 npm i <pkg>
npm install lodash
软件包下载完成后会发生三件事:
1. 软件包会被存储在 node_modules 文件夹中,如果在应用中不存在此文件夹, npm 会自动创建。
2. 软件包会被记录在 package.json 文件中 . 包含软件包的名字以及版本号。
3. npm 会在应用中创建 package - lock.json 文件 , 用于记录软件包及软件包的依赖包的下载地址及
版本。
3.5 使用 Node.js 软件包
在引入第三方软件包时,在 require 方法中不需要加入路径信息,只需要使用软件包的名字即可,
require 方法会自动去 node_modules 文件夹中进行查找。
const _ = require ( "lodash" )
const array = [ "a" , "b" , "c" , "d" ]
// chunk 对数组中的元素进行分组
// 参数一表示要进行操作的数组
// 参数二表示每一组中包含的元素个数
console . log ( _ . chunk ( array , 2 )) // [ [ 'a', 'b' ], [ 'c', 'd' ] ]
3.6 软件包依赖问题说明
1. 比如在我的应用中要依赖 mongoose 软件包,于是我下载了它,但是在 node_modules 文件夹中
除了包含 mongoose 以外还多出了很多其他软件包,为什么会多出这么多软件包呢?
实际上它们又是 mongoose 依赖的软件包。
2. 为什么 mongoose 依赖的软件包不放在 mongoose 文件夹中呢?
在早期的 npm 版本中 , 某个软件包依赖的其他软件包都会被放置在该软件包内部的
node_modules 文件夹中,但是这样做存在两个问题,第一个问题是很多软件包都会有相同的依
赖,导致开发者在一个项目中会下载很多重复的软件包,比如 A 依赖 X B 依赖 X C 依赖 X ,在
这种情况下 X 就会被重复下载三次。第二个问题是文件夹嵌套层次太深,导致文件夹在 windows
系统中不能被直接删除。比如 A 依赖 B, B 依赖 C, C 依赖 D ... , 就会发生文件夹依次嵌套的情况。
3.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值