npm i 有以下几种方式:

    1. # 安装模块到项目目录下
    2. npm i module_name
    3. # -g 的意思是将模块安装到全局,具体安装到磁盘哪个位置,要看 npm config prefix的位置。
    4. npm i module_name -g
    5. # --save 的意思是将模块安装到项目目录下,并在package文件的dependencies节点写入依赖。
    6. npm i module_name -S(-save)
    7. # --save-dev 的意思是将模块安装到项目目录下,并在package文件的devDependencies节点写入依赖。
    8. npm i module_name -D(--save-dev)


    具体说明如下:

    1. npm i module_name
    2. 会把moudule_name包安装到node_modules目录中
    3. 不会修改package.json
    4. 之后运行npm i命令时,
    5. npm i module_name -g
    6. 安装模块到全局,不会在项目node_modules目录中保存模块包。
    7. 不会将模块依赖写入devDependenciesdependencies 节点。
    8. 运行 npm i 初始化项目时不会下载模块。
    9. npm i module_name -S
    10. 会把moudule_name包安装到node_modules目录中
    11. 会在package.jsondependencies属性下添加moudule_name
    12. 之后运行npm i命令时,会自动安装moudule_namenode_modules目录中
    13. 之后运行npm i --production或者注明NODE_ENV变量值为production时,会自动安装msbuildnode_modules目录中,即是在线上环境运行时会将包安装
    14. npm i module_name D
    15. 会把moudule_name包安装到node_modules目录中
    16. 会在package.jsondevDependencies属性下添加moudule_name
    17. 之后运行npm i命令时,会自动安装moudule_namenode_modules目录中
    18. 之后运行npm i production或者注明NODE_ENV变量值为production时,不会自动安装moudule_namenode_modules目录中
    19. 使用原则:
    20. devDependencies 节点下的模块是我们在开发时需要用的,比如项目中使用的 gulp ,压缩cssjs的模块。这些模块在我们的项目部署后是不需要的,所以我们可以使用-D的形式安装。像 emoudule_namepress 这些模块是项目运行必备的,应该安装在 dependencies 节点下,所以我们应该使用-S的形式安装。
    21. 总结为一句话:运行时需要用到的包使用–S,否则使用–D