开发依赖与运行依赖

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等。

相关推荐
Mahut11 分钟前
从零构建神经影像可视化库:neuroviz 的架构设计与实现
前端·javascript·github
慧一居士15 分钟前
VueUse 功能介绍使用场景及完整使用示例
前端·vue.js
奇怪的猫15 分钟前
浏览器窗口最小化的时候,setInterval 执行变慢,解决方案
前端·javascript
多租户观察室16 分钟前
工作流新生态:2026年工作流与Coding的重新分工
前端·人工智能·后端·低代码
cmd17 分钟前
别再混淆了!JS类型转换底层:valueOf vs toString vs Symbol.toPrimitive 详解
前端·javascript
用户158159637437026 分钟前
AI Agent 说"完成了",但其实没有——任务验收机制的工程实践
javascript
Carsene31 分钟前
开源项目文档架构设计:Git Submodule 实现文档与代码的优雅分离
前端·后端
Z思学35 分钟前
promise 有几种状态 async/await 和promise 有什么关系
前端
han_36 分钟前
JavaScript设计模式(四):发布-订阅模式实现与应用
前端·javascript·设计模式
276695829238 分钟前
租车帮(悟空)订单查询算法分析
java·服务器·前端·悟空·悟空app·租车帮·租车帮逆向