devdependencies和dependencies
NPM通过package.json
文件管理项目的依赖,包括运行时依赖(dependencies)和开发依赖(devDependencies)。
一、基本概念
dependencies:应用能够正常运行所依赖的包。这些依赖在用户执行
npm install
时会自动安装,用于生产环境。devDependencies:开发应用时所依赖的工具包,如测试框架、构建工具或代码检查工具。这些依赖仅在开发过程中使用,不会在生产环境中运行。
二、添加依赖
添加dependencies: 使用以下命令将包添加到dependencies中:
npm install <package-name> --save
或者
npm install <package-name> -S
所选包将被添加到
package.json
文件的dependencies部分。添加devDependencies: 使用以下命令将包添加到devDependencies中:
npm install <package-name> --save-dev
或者
npm install <package-name> -D
所选包将被添加到
package.json
文件的devDependencies部分。
三、安装依赖
安装所有依赖: 使用以下命令安装
package.json
中声明的所有依赖(包括dependencies和devDependencies):npm install
仅安装生产依赖: 在部署到生产环境时,可以忽略devDependencies的安装,仅安装dependencies:
npm install --production
四、管理依赖
更新依赖: 使用以下命令更新dependencies或devDependencies中的包到最新版本:
npm update <package-name>
删除依赖: 使用以下命令从dependencies中删除包:
npm uninstall <package-name> --save
使用以下命令从devDependencies中删除包:
npm uninstall <package-name> --save-dev
五、实际应用
dependencies的应用:
- 应用运行时必需的包,如业务逻辑依赖的库。
- 发布npm包时,其他开发者会从发布的包中下载dependencies中的依赖。
devDependencies的应用:
- 仅在开发过程中使用的包,如Webpack、Jest等。
- 用于构建步骤、测试或文档生成等开发过程。
- 不会在生产环境中运行,因此不需要打包或部署。
六、注意事项
环境一致性:
- 使用
package-lock.json
文件锁定依赖的版本,确保在不同环境中的一致性。 npm ci
命令用于在自动化环境中快速安装依赖,不会修改package-lock.json
文件。
- 使用
避免生产环境冗余:
- 确保生产环境的包不依赖于开发时的包,以减少生产环境的复杂性和潜在的安全风险。
定期更新依赖:
- 定期检查并更新dependencies和devDependencies中的包,以获取最新的功能和安全修复。
通过合理添加和管理dependencies和devDependencies,开发者可以提高开发效率,确保项目的可维护性和可扩展性。随着项目的不断迭代和开发需求的变化,合理管理这些依赖将变得更加重要。
本文地址:https://www.tides.cn/p_npm-dependencies-and-dev-dependencies