前言:
一、npm init(项目创建、初始化)
新建一个目录执行npm init之后会询问开发者一系列问题,如包的名称、版本、描述等,然后生成一个 package.json
文件。
二、npm install(安装项目依赖)
执行该命令会自动查找项目目录下的package.json文件并安装其中定义的所有依赖项,生成node_modules。
三、-S -D -G和不加后缀
npm install 等价于 npm i
npm install --save 等价于 npm install -S
npm install --save-dev 等价于 npm install -D
npm install --global 等价于 npm install -g
后面的只是前面的简写
1. npm install
- 将XXXXX包安装到node_modules下
- 不会在package.json里添加改包
2. npm install --save
- 将包安装到node_modules下
- 在package.json的dependencies属性下添加该包
3. npm install --save-dev
- 将包安装到node_modules下
-
会在package.json的devDependencies属性下添加包
4. npm install --global
- 安装包到全局,不会安装在当前目录下。
四、dependencies和devDependencies区别
dependencies:项目依赖。在编码阶段和呈现页面阶段都需要的,也就是说,项目依赖即在开发环境中,又在生产环境中。如js框架vue、页面路由vue-router,各种ui框架antd、element-ui、vant等。
devDependencies: 开发依赖。仅仅在写代码过程中需要使用,比如css预处理器、vue-cli脚手架、eslint之类。
区别:devDependencies下的依赖包,只是我们在本地或开发坏境下运行代码所依赖的,若发到线上,其实就不需要devDependencies下的所有依赖包;(比如各种loader,babel全家桶及各种webpack的插件等)只用于开发环境,不用于生产环境,因此不需要打包。
dependencies是我们线上(生产坏境)下所要依赖的包,比如vue,我们线上时必须要使用的,所以要放在dependencies下;dependencies依赖的包不仅开发环境能使用,生产环境也能使用。
五、建议
在引入包的时候都加上对应的后缀,如果不加直接npm install XXX,在package.json中将无法找到,不利于项目框架的阅读、打包、复用。