开发依赖与运行依赖

1. 概念

开发依赖:devDependencies

运行依赖:dependencies

2. 理解

(1)devDependencies

  在线上状态不需要使用的依赖,就是开发依赖。为什么 npm 要把它单独分拆出来呢?最终目的是为了减少 node_modules 目录的大小以及 npm install 花费的时间。因为 npm 的依赖是嵌套的,所以可能看上去 package.json 中只有几个依赖,但实际上它又扩散到 N 个,而 N 个又扩散到 N 平方个,一层层扩散出去,可谓子子孙孙无穷尽也。如果能够尽量减少不使用的依赖,那么就能够节省线上机器的硬盘资源,也可以节省部署上线的时间。那么哪些可以算作开发依赖呢?如各种 babel-plugin-*、*-loader、webpack

(2)dependencies (线上运行依赖)

  这是 npm 最基本的依赖,通过命令 npm i xxx -S 或者 npm i xxx --save 来安装一个包,并且添加到 package.json 的 dependencies 里面(这里 i 是 install 的简写,两者均可)。如果直接只写一个包的名字,则安装当前 npm registry 中这个包的最新版本;如果要指定版本的,可以把版本号写在包名后面,例如 npm i webpack@3.0.0 --save。那么哪些可以算作开发依赖呢?如 axios、vue、vuex、vue-router等。

相关推荐
小poop19 分钟前
HTML 基础入门:从结构到常用标签详解
前端
jiangliushi620 分钟前
GPT-6.1 Sol 免费用:PowerShell 装 Codex 报“禁止运行脚本 npm.ps1”?一条命令解决
前端·gpt·npm
计算机魔术师31 分钟前
日均500万亿词元,国内推理速度翻倍却仍落后国外——差距卡在哪
前端
excel36 分钟前
用 Node.js 搭建一套可持续获客的 SEO 内容系统:前端工程师 30 天实战方案
前端·后端
yma161 小时前
从零搭建 P2P 聊天室:yma16.cloud 在线工具实战
前端·1024程序员节
Mr.Pascal1 小时前
Javascript之什么是作用域?
javascript·1024程序员节
microrain2 小时前
设备报文怎么变,SagooIoT 只约定三个函数名
javascript·物联网·golang·sagooiot
思码梁田2 小时前
CSS 浏览器厂商前缀:从「写 5 遍」到现代自动化兼容
前端·css·css3·border-radius·1024程序员节·box-shadow·厂商前缀
Bug收容所2 小时前
Vue+JS Day3
前端·javascript·vue.js·前端框架·1024程序员节