node_modules文件夹的问题
- 文件夹以及文件过多过碎,当我们将项目整体拷贝给别人的时候,传输速度会很慢很慢
- 复杂的模块依赖关系需要被记录,确保模块的版本和当前保持一致,否则会导致当前项目运行报错。
package.json文件
项目描述文件,记录了当前项目信息,例如项目名称,版本,作者,github地址,当前项目依赖了哪些第三方模块等。
使用npm init -y 命令生成
项目依赖
在项目的开发阶段和线上运营阶段,都需要依赖的第三方包,称为项目依赖
使用 npm install 包名命令下载的文件会默认被添加到package.json文件的dependencies字段中
开发依赖
在项目的开发阶段需要依赖,线上运营阶段不需要依赖的第三方包,称为开发依赖
使用npm install 包名 --save-dev命令将包添加到package.json文件的devDependencies字段中
package-lock.json文件的作用
作用是当别人在下载包的时候,防止下载最新版本,导致项目运行失败
记录了下载地址,同时也会加快下载速度。
script是别名
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "nodemon app.js"
}
执行时用 npm run build 执行。
Node.js中的模块加载机制
- 模块查找规则-当模块拥有路径但没有后缀时。
- 模块查找规则-当模块没有路径且没有后缀时