Node.js 的包管理器 npm 提供了一个命令 npm install,用于安装 Node.js 项目所需的依赖包。在使用这个命令时,我们可以通过添加不同的选项来控制依赖包的安装方式。本文将详细介绍这些选项:--save、--save-dev、-S 和 -D 的区别。
1. --save(-S)
--save 选项表示将安装的依赖包信息保存到 package.json 文件的 dependencies 字段中。这样做的目的是方便其他开发者在克隆或下载项目后,可以通过运行 npm install 命令自动安装所有依赖包,而无需手动安装每个依赖包。
例如,我们可以使用以下命令安装 Express 框架并将其添加到 dependencies:
            
            
              js
              
              
            
          
          npm install express --save或者使用短选项 -S:
            
            
              js
              
              
            
          
          npm install express -S安装完成后,package.json 文件中的 dependencies 字段将包含 Express 的信息:
            
            
              json
              
              
            
          
          "dependencies": {
  "express": "^4.17.1"
}2. --save-dev(-D)
--save-dev 选项表示安装的依赖包是开发环境所需的,而不是生产环境。这意味着这些依赖包将被添加到 package.json 文件的 devDependencies 字段中,而不是 dependencies 字段。开发环境的依赖包通常包括测试框架、构建工具等,这些依赖包在生产环境中是不需要的。
例如,我们可以使用以下命令安装 Mocha 测试框架并将其添加到 devDependencies:
            
            
              js
              
              
            
          
          npm install mocha --save-dev或者使用短选项 -D:
            
            
              js
              
              
            
          
          npm install mocha -D安装完成后,package.json 文件中的 devDependencies 字段将包含 Mocha 的信息:
            
            
              json
              
              
            
          
          "devDependencies": {
  "mocha": "^8.4.0"
}3. 选项的区别
总结一下,这些选项的区别如下:
- --save(或- -S):安装的依赖包将添加到- package.json文件的- dependencies字段中。这些依赖包在开发和生产环境中都需要。
- --save-dev(或- -D):安装的依赖包将添加到- package.json文件的- devDependencies字段中。这些依赖包仅在开发环境中需要,生产环境中不需要。
在实际项目中,我们需要根据依赖包的用途来选择合适的选项。通常,对于应用程序运行时需要的依赖包,我们使用 --save 选项;对于开发、测试和构建过程中需要的依赖包,我们使用 --save-dev 选项。