一、npm命令的简写
npm install 等价于 npm inpm install XXX --save 等价于 npm i XXX -S 等价于 npm i XXX -snpm install XXX --save-dev 等价于 npm i XXX -D 等价于 npm i XXX -dnpm install XXX --global 等价于 npm i XXX -G 等价于 npm i XXX -g
二、-d、-g、-s 后缀的区别
-d 或 -D 或 --save-dev:
这个选项用于将包安装到项目的devDependencies中。这意味着这个包只在开发过程中需要,而在生产环境中不需要。例如,当你运行npm install --save-dev时,npm会将指定的包安装到项目的node_modules目录下,并将其添加到package.json文件的devDependencies部分。
-g 或 -G 或 --global:
这个选项用于将包安装为全局包。这意味着你可以在任何地方使用这个包,而不仅仅是在当前的项目中。全局安装的包通常用于命令行工具或需要在多个项目之间共享的工具。例如,当你运行npm install -g 时,npm会将指定的包安装到全局的node_modules目录下,并使其可在命令行中直接使用。
-s 或 -S 或 --save:
将包安装到项目的dependencies中。这意味着这个包是项目运行所必需的,应该被包含在生产环境的依赖中。当运行npm install --save时,npm会将包添加到package.json的dependencies部分,并确保在部署项目时包含这些依赖。
三、不加后缀
如果不加任何后缀,npm的默认行为取决于npm的版本和配置。在较新版本的npm中,如果不加后缀直接运行npm install ,npm通常会默认将包添加到dependencies中,这相当于使用了–save选项
四、packages.json文件中dependencies和devDependencies的区别
在 Vue 项目中,package.json 文件是一个非常重要的文件,它定义了项目的元数据和依赖信息。在 package.json 文件中,dependencies 和 devDependencies 是两个关键的字段,它们分别用于指定项目运行时的依赖和开发时的依赖。
dependencies
dependencies 字段列出了项目在生产环境中需要运行的所有依赖包。这些依赖包是项目正常运行所必需的,无论是开发环境还是生产环境。当你将项目部署到生产环境时,这些依赖包也会被一起打包或安装。
例如,如果你的 Vue 项目使用了 Vue.js 本身、Vue Router、Vuex 或者 Axios 等库来进行路由管理、状态管理和 HTTP 请求,那么这些库就应该被添加到 dependencies 中,因为它们对于项目的运行是必需的。
devDependencies
devDependencies 字段则列出了仅在开发过程中需要的依赖包。这些依赖包通常用于辅助开发,如代码编译、测试、打包等。在生产环境中,这些依赖包通常不会被打包或安装,因为它们不是项目运行所必需的。
例如,Webpack、Babel、Vue Loader、ESLint 等工具通常被添加到 devDependencies 中,因为它们主要用于开发过程中的代码转换、打包和检查等工作。
为什么要区分?
区分 dependencies 和 devDependencies 的主要目的是优化项目的依赖管理。通过将开发依赖和生产依赖分开,可以确保在生产环境中只安装必要的依赖包,从而减小项目体积,提高加载速度。同时,这也使得依赖管理更加清晰,便于团队成员理解和维护。