包的概念
包:将模块,代码,其他资料聚合成的一个文件夹
包分类:
1.项目包:主要用于编写项目和业务逻辑的文件夹
2.软件包:封装工具和方法供开发者使用(一般使用npm管理)
1)本地软件包:当前项目内使用,封装属性和方法,存放于node_modules,供项目调用编写业务需求
2)全局软件包:本机所有项目使用,封装命令和工具,存在于系统设置的位置,支撑项目运行
要求:根目录中,必须有package.json文件(记录包的清单信息,如软件包的名字,作者,入口文件等信息)
注意:导入软件包时,引入的默认是index.js模块文件/main属性指定的模块文件
npm-软件包管理器
作用:下载软件包以及管理版本
使用:
1.初始化清单文件:npm init-y(得到package.json文件,有则略过此命令)
执行该命令的文件夹最好不要有中文或特殊字符!
2.下载软件包:npm i 软件包名称
下载的包会存放在当前项目下的node-modules中,并记录在package.json中(会自动创建package-lock.json和node_modules文件夹)
3.使用软件包
安装所有依赖
问题:项目中不包含node_modules,能否正常运行?
答案:不能,缺少依赖的本地软件包
原因:因为自己用npm下载依赖比磁盘传递拷贝要快得多
解决:项目终端输入命令npm i
会下载package.json中记录的所有软件包
全局软件包nodemon
nodemon作用:替代node命令,检测代码更改,自动重启程序
使用:
1.安装:npm i nodemon -g(-g代表安装到全局环境中)
2.运行:nodemon待执行的目标js文件
常用命令
如果想卸载全局软件包,就在命令后面加-g