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. 微信PC版Hook研究思维导图

  2. 根据IP获取经纬度 js

    <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> &l ...

  3. Mysql+keepalived

    测试环境 192.168.2.201 master slave 192.168.2.202 master slave 配置流程:安装MySQL->优化系统->优化配置my.cnf-> ...

  4. JSP运行原理以及执行过程源码分析

    我们在开发JavaWeb的过程中,可能有过这样的疑问,当我们编写jsp页面时,不用引用不用创建就可以使用request.session.application对象,当使用浏览器访问JSP页面时,查看页 ...

  5. 2019牛客多校第四场J free——分层图&&最短路

    题意 一张无向图,每条边有权值,可以选择不超过 $k$ 条路使其权值变成0,求 $S$ 到 $T$ 的最短路.(同洛谷 P4568) 分析 首先,分层图最短路可以有效解决这种带有 「阶段性」的最短路, ...

  6. asp.net用sql数据库生成json字符串并显示出来

    use Shop ,) )) insert into DictBase select '包装' UNION ALL select '价格' UNION ALL select '品牌' 工厂方法模式 I ...

  7. 接口强制删除namespace 为Terminating的方法

    kubectl get ns qa01 -o json > qa01.json kubectl proxy --port=8081 curl -k -H "Content-Type: ...

  8. git 在eclipse中忽略上传文件

    在我们的工程项目中,有些文件是不需要上传到服务器上的,比如那些 */target/ */bin/*.settings/*.classpath*.gitignore*.project 我们将这些文件添加 ...

  9. P4213【模板】杜教筛(Sum)

    思路:杜教筛 提交:\(2\)次 错因:\(\varphi(i)\)的前缀和用\(int\)存的 题解: 对于一类筛积性函数前缀和的问题,杜教筛可以以低于线性的时间复杂度来解决问题. 先要构造\(h= ...

  10. STS工具引入jar报问题?(问题待解决)

    pom.xml文件中先引入ojdbc6,后修改成ojdbc7了,为啥还报下面的错误: Project 'nx-test-mybatis-oracle' is missing required libr ...