软件包管理器
# 概念
包:将模块,代码,其他资料聚合成一个文件夹
包分类:
- 项目包:主要用于编写项目和业务逻辑
- 软件包:封装工具和方法进行使用
要求:根目录中,必须有 package.json
文件(记录包的清单信息)
注意:导入软件包时,引入的默认是 index.js 模块文件,没有则为 main 属性指定的模块文件
{
"name": "webpack-demo", // 软件包名称
"version": "1.0.0",
"description": "",
"main": "index.js", // 软件包入口 (类似于index.html)
"author": "NipGeihou",
"license": "MIT"
}
# 定义一个工具包
此处省略 arr.js、str.js 代码逻辑
index.js
const { getArraySum } = request('./lib/arr.js')
const {checkUser, checkPwd } = requst('./lib/str.js')
module.exports = {
getArraySum,
checkUser,
checkPwd
}
导入
const obj = requst('./utils') // 写软件包名
- 编写一个 util 包时,无论代码分散在包中的哪个位置,最终都需要导入到 index.js 文件中,再导出。
- 别人需要导入
# npm
Node.js 默认的软件包管理器
# 初始化清单文件;没有package.json时执行
npm init -y
# 下载软件包
npm i <packageName>
# npm i dayjs
# node_modules文件夹:软件包源码
# package.json:记录了软件包
# package-lock.json:固化软件包版本
# 安装所有依赖,根据package.json
npm i
软件包区别:
本地软件包:当前项目内使用,封装属性和方法,存在于 node_modules
全局软件包:本机所有项目使用,封装命令和工具,存在于系统设置的位置
npm i <packageName> -g # -g 安装到全局环境
# npm i nodemon -g # 替代node命令,检测代码更改,自动重启程序
# nodemon xxx.js
上次更新: 2024/08/11, 13:46:56