1.npm install X

  • 安装X到项目的node_modules文件夹
  • 会修改package.json,在dependencies中写入依赖。(关于这一点,网上的大部分文章都是说,不会修改package.json,笔者通过实践发现,是会在dependencies中写入依赖的)
  • npm install会自动安装X。(网上都说不会自动安装,实践是会自动安装的。笔者将项目的node_modules文件夹删除之后,重新运行npm install,发现X被安装了)

2.npm install -g X

  • 安装模块到全局(这样安装了哪里都可以用,各个项目都可以用),一般是安装到node的安装目录的node_modules。如果配置了全局目录,就会安装到全局目录的node_modules目录
  • 不会修改package.json,不会将模块依赖写入devDependencies或dependencies 节点
  • npm install不会自动安装X

3.npm install X --save

  • 安装X到项目的node_modules文件夹
  • 会修改package.json,在dependencies中写入依赖
  • npm install会自动安装X
  • 运行npm install --production或者注明NODE_ENV变量值为production时,自动下载模块到node_modules目录中

3.npm install X --save-dev

  • 安装X到项目的node_modules文件夹
  • 会修改package.json,在devDependencies中写入依赖
  • npm install会自动安装X
  • 运行npm install --production或者注明NODE_ENV变量值为production时,不会自动下载模块到node_modules目录中。

总结:

devDependencies 节点下的模块是我们在开发时需要用的,比如项目中使用构建工具webkpack、 gulp ,用来辅助压缩js、css、html等。这些模块在我们的项目部署后是不需要的,所以我们可以使用 --save-dev 的形式安装;像 bootstrap、vue、angular、express 这些模块是项目运行必备的,应该安装在 dependencies 节点下,所以我们应该使用 --save 的形式安装;工具类的比如构建工具gulp,需要使用命令来运行任务,则需要使用—global来安装。

npm install, npm install -g, npm install --save, npm install --save-dev之间的区别的更多相关文章

  1. npm install @wepy/cli -g 出错

    npm install @wepy/cli -g 出错:npm ERR! Unexpected end of JSON input while parsing near '...1.0.0" ...

  2. npm published cli package's default install missing the `-g` flag

    npm published cli package's default install missing the -g flag https://npm.community/t/npm-publishe ...

  3. npm install —— 从一个简单例子,看本地安装与全局安装的区别

    npm的包安装分为本地安装(local).全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已,比如 npm install grunt # 本地安装 npm install -g ...

  4. SimpleCV install and "You need the python image library to save by filehandle"

    2015年5月3日 22:15:43 在win7下安装了python.simplecv,试着运行simplecv官网第一个hello world程序结果报错,提示说%python%/lib/site- ...

  5. 教你如何在Deepin搭建Qt开发环境(sudo apt-get install qt5-default qt5-qmake g++ qtcreator,也许对龙芯版的Deepin也有用)

    首先教大家一种很简单的方法,打开终端输入以下命令: sudo apt-get install qt5-default qt5-qmake g++ qtcreator 上面的命令会自动帮你安装qt5开发 ...

  6. 一文看懂npm、yarn、pnpm之间的区别

    文作者对比了当前主流的包管理工具npm.yarn.pnpm之间的区别,并提出了合适的使用建议,以下为译文: NPM npm是Node.js能够如此成功的主要原因之一.npm团队做了很多的工作,以确保n ...

  7. [转] 一文看懂npm、yarn、pnpm之间的区别

    [From] http://geek.csdn.net/news/detail/197339 原文:Understanding differences between npm, yarn and pn ...

  8. 主流包管理工具npm、yarn、cnpm、pnpm之间的区别与联系——原理篇

    接触 node 之后,一直使用npm包管理工具, cnpm 一开始会用一些,但是并没有觉得比 npm 快得多,使用 cnpm 的时候还经常安装不成功,只能再用 npm 安装一遍,渐渐的就弃用了 cnp ...

  9. npm 和bower之间的区别

    (一) npm是node js的包管理器,用来下载安装node js的第三方工具包,也可以用来发布你自己开发的工具包.通过npm可以安装bower,命令如下: npm install -g bower ...

随机推荐

  1. 基于 Go 的可嵌入脚本语言 zygomys

    zygomys zygomys 是一种可嵌入的脚本语言. 它是一个具有面向对象风格的现代化 Lisp,提供了一个解释器和 REPL(Read-Eval-Print-Loop:也就是说,它带有一个命令行 ...

  2. spring 使用 context:property-placeholder 加载 多个 properties

    一般使用PropertyPlaceholderConfigurer来替换占位符,例如: <bean class="org.springframework.beans.factory.c ...

  3. 1、课程简介-Spring 注解驱动开发

    1.课程简介-Spring 注解驱动开发

  4. febric的使用

    from fabric.api import * from fabric.colors import * from fabric.tasks import execute ''' env.hosts ...

  5. Linux下shell命令执行过程简介

    Linux是如何寻找命令路径的:http://c.biancheng.net/view/5969.html Linux上命令运行的基本过程:https://blog.csdn.net/hjx5200/ ...

  6. poj 2762

    Tarjan + TopsortTarjan 缩点Topsort 判断 Topsort 判断:在DAG中若初始状态下存在多于1个入度为0的点则说明这些 入度为0的点之间不会有路径可达若不存在入度为0的 ...

  7. DUILib学习笔记---消息处理

    WIN32下窗口消息循环 MSG msg = { 0 }; while( ::GetMessage(&msg, NULL, 0, 0) ) { ::TranslateMessage(& ...

  8. 1558:聚会 ybt

    1558:聚会 ybt 题解(看似很难,其实要是摸清了实质这就是个大水题) 上题目 1558:聚会 时间限制: 1000 ms         内存限制: 524288 KB提交数: 82     通 ...

  9. 一台服务器配置多个mysql实例

    在公司资源紧张的情况下,需要在一台服务器上部署多个数据库实例,现在就来实战一下该情况. 需要启动两个不同的端口,分别是3306和3307 [root@node1 ~]# mkdir /u01/mysq ...

  10. vue pdf下载

    主要技术栈是Vue,两个库: html2canvas npm地址 jspdf 具体实现代码如下: <template> <div class="priview_resume ...