zoukankan      html  css  js  c++  java
  • npm install的几种命令形式区别

    转自未来与传说jigetage

    我们在使用 npm install 安装模块的时候 ,一般会使用下面这几种命令形式:

    • npm install moduleName # 安装模块到项目目录下
    • npm install -g moduleName # -g 的意思是将模块安装到全局,具体安装到磁盘哪个位置,要看 npm config prefix 的位置。
    • npm install --save moduleName # --save 的意思是将模块安装到项目目录下,并在package文件的dependencies节点写入依赖。
    • npm install --save-dev moduleName # --save-dev 的意思是将模块安装到项目目录下,并在package文件的devDependencies节点写入依赖。

    那么问题来了,在项目中我们应该使用四个命令中的哪个呢?这个就要视情况而定了。下面对这四个命令进行对比,看完后你就不再这么问了。

    (1)npm install moduleName 命令

    1. 安装模块到项目的node_modules目录下。

    2. 不会将模块依赖写入devDependencies或dependencies 节点。

    3. 运行 npm install 初始化项目时不会下载模块。

    (2)npm install -g moduleName 命令

    1. 安装模块到全局,不会在项目node_modules目录中保存模块包。

    2. 不会将模块依赖写入devDependencies或dependencies 节点。

    3. 运行 npm install 初始化项目时不会下载模块。

    (3)npm install --save moduleName 命令

    1. 安装模块到项目的node_modules目录下。

    2. 会修改package.json,将模块名和版本号添加到dependencies部分(将模块依赖写入dependencies 节点)。

    3. 运行 npm install 初始化项目时,会将模块下载到项目目录下。

    4. 运行npm install --production或者注明NODE_ENV变量值为production时,会自动下载模块到node_modules目录中。

    (4)npm install --save-dev moduleName 命令

    1. 安装模块到项目node_modules目录下。

    2. 会修改package.json,将模块名和版本号添加到devDependencies部分(将模块依赖写入devDependencies 节点)。

    3. 运行 npm install 初始化项目时,会将模块下载到项目目录下。

    4. 运行npm install --production或者注明NODE_ENV变量值为production时,不会自动下载模块到node_modules目录中。

    总结:

    具体选择哪种安装方式要根据自己的实际需求,其中,--save和--save-dev可以省掉我们手动修改package.json文件的步骤。

    devDependencies 节点下的模块是我们在开发时需要用的,但是生产时候不需要的模块,比如项目中使用的 gulp ,压缩css、js的模块。这些模块在我们的项目部署后是不需要的,所以我们可以使用 --save-dev 的形式安装。

    dependencies 节点下的模块是在开发和生产是都需要用到的模块(项目部署后运行依然需要的模块),比如 express 这些模块是项目运行必备的,应该安装在 dependencies 节点下,所以我们应该使用 --save 的形式安装。

    那么在安装包的时候,到底什么时候该用 --save-dev? 什么时候该用 --save ?实践理解:
    如果在项目中安装的包 不需要在生产环境中依赖 则使用 --save-dev;比如babel
    如果在项目中安装的包 需要在生产环境中依赖 则使用 --save;比如 jQuery



     
  • 相关阅读:
    PHP保留小数的相关方法
    ASP.NET Core MVC 之过滤器(Filter)
    ASP.NET Core MVC 之控制器(Controller)
    ASP.NET Core MVC 之视图组件(View Component)
    ASP.NET Core MVC 之局部视图(Partial Views)
    标签助手(TagHelper)
    ASP.NET Core MVC 之布局(Layout)
    ASP.NET Core MVC 之视图(Views)
    ASP.NET Core MVC 之模型(Model)
    九卷读书:淘宝从小到大的发展 -重读《淘宝技术这十年》
  • 原文地址:https://www.cnblogs.com/lihuijuan/p/9984361.html
Copyright © 2011-2022 走看看