npm(Node Package Manager)简介
npm
是一个用于管理 JavaScript 项目依赖包的工具。它包含了一个公共的包管理库(npm registry),开发者可以使用它来安装、更新、卸载和管理 Node.js 包。npm 也用于管理项目的依赖和其他相关任务。
常见的 npm 操作包括:
- 安装包 :
npm install <package-name>
- 更新包 :
npm update <package-name>
- 卸载包 :
npm uninstall <package-name>
- 查看已安装包 :
npm list
- 创建新项目 :
npm init
- 发布包 :
npm publish
主要功能:
- 管理项目的依赖包(安装、卸载、更新)。
- 维护和共享自己的 JavaScript 包(通过
npm publish
)。 - 通过
scripts
字段管理项目的命令行任务(例如:构建、测试、启动等)。
package.json 简介
package.json
是 Node.js 项目中的一个核心文件,描述了项目的元数据、依赖关系、项目配置和脚本命令等信息。它可以帮助 npm 识别项目,并了解项目的依赖、版本和其他关键信息。
基本结构:
一个典型的 package.json
文件看起来像这样:
javascript
{
"name": "my-project", // 项目名称
"version": "1.0.0", // 项目版本
"description": "My awesome app", // 项目描述
"main": "index.js", // 入口文件
"scripts": { // 脚本命令
"start": "node index.js", // 启动应用命令
"test": "mocha" // 测试命令
},
"author": "Your Name", // 项目作者
"license": "MIT", // 项目许可证
"dependencies": { // 项目的生产环境依赖
"express": "^4.17.1"
},
"devDependencies": { // 项目的开发环境依赖
"mocha": "^8.2.1"
},
"engines": { // 定义支持的 Node.js 版本
"node": ">=14.0.0"
}
}
如何创建 package.json
当你创建一个新的 Node.js 项目时,可以使用以下命令生成 package.json
文件:
javascript
npm init
该命令会提示你填写一些基本信息,生成一个交互式的 package.json
文件。如果想跳过这些提示并自动生成一个带有默认值的 package.json
文件,可以使用:
javascript
npm init -y
package-lock.json 文件
除了 package.json
外,npm
在安装依赖时会生成一个 package-lock.json
文件。该文件记录了每个安装包的确切版本号,并确保其他开发人员或 CI/CD 环境在安装时使用相同的依赖版本。即使两个开发者使用不同版本的 npm
,只要他们都使用相同的 package-lock.json
文件,安装的依赖版本是一样的。
- 安装时 ,如果
package-lock.json
存在,npm 会严格遵循其中的依赖版本。 - 删除时 ,
package-lock.json
会更新以反映卸载的依赖。
总结
npm
是 Node.js 的包管理工具,用于安装、管理和发布 JavaScript 包。package.json
文件是项目的配置文件,记录了项目的元信息、依赖、脚本等。npm init
可以用来生成package.json
文件,npm install
用来安装依赖,npm run
用来执行脚本。- 通过合理使用
dependencies
和devDependencies
,你可以确保生产环境和开发环境的依赖区分开来。