当前位置: 首页 > news >正文

package.json 开发依赖与运行时依赖

文章目录

  • 前言
  • 一、生产环境与开发环境
  • 二、dependencies
  • 二、devDependencies
  • 总结


前言

我已经使用npm接近两年了, 但对于package.json内的dependencies devDependencies也只是知道什么依赖该放什么部分, 至于为什么放到这个部分, 我不是很了解…
呃, 还是去了解一下.


一、生产环境与开发环境

生产环境可以理解为打包上线后运行的环境, 典型如服务器环境.

开发环境就是在本地搭个脚手架安装上各种依赖跑个本地服务写代码时的环境.


二、dependencies

我的理解是, dependencies下是生产环境中所必须的依赖包, 比如做一个基于vue的前端项目, 那么vue就应当被放在此目录下, 因为上线之后放进服务器这个项目依然需要vue来运作.
而开发环境下需要模拟生产环境开发以确保生产环境下能用, 所以在dependencies下的依赖是生产环境一定需要的, 开发环境可能需要的.
直接安装就会把依赖安装到这个部分中, 生产依赖装错了地方, 运行项目的时候会出问题.

npm i xxx --save // 不过--save在npm ver5之后可以省略掉
或
npm i xxx -S     // --save简写
或
npm i xxx        // 直接省略 --save

比如把vue卸了再运行npm run serve.


二、devDependencies

devDependencies下只在是项目开发时需要的依赖, 上线后不需要(当然也可以带着一起交到生产环境, 就是体积大嘛).
比如开发结束后打包所需的工具webpack, 各种loader, 用于搭建项目的脚手架, 以及一系列辅助开发的工具.
假设我们是铁匠, 顾客要一块铁锭, 打完这块铁锭之后总不该把自己的锤子也交给顾客, 交付的应当是产品, 而开发依赖可以看作流水线上的生产工具.

如果需要将依赖安装至此部分:

npm i xxx --save-dev
或
npm i xxx -D

总结

http://www.lryc.cn/news/11178.html

相关文章:

  • 关于最短路径算法中边的权值的思考
  • LVGL开发教程:二、ESP-IDF 使用CmakeList管理自己的文件以及文件夹
  • 与感受野相关的几种网络结构
  • day19_抽象类丶接口
  • 【网安神器篇】——系统指纹探测工具finger
  • Prometheus离线tar包安装
  • PostgreSQL查询引擎——SELECT STATEMENTS SelectStmt
  • 零信任-易安联零信任介绍(11)
  • C++ STL——map和set的使用
  • 【Python】thread使用
  • 计网传输层协议:UDP和TCP
  • 一文讲明TCP网络编程、Socket套接字的讲解使用、网络编程案例
  • Java中print和println的区别
  • RocketMq使用规范(纯技术和实战建议)
  • matlab离散系统仿真分析——电机
  • 一文学会进程控制
  • 5.2 BGP水平分割
  • 华为OD机试 - TLV 编码 | 备考思路,刷题要点,答疑 【新解法】
  • 【C语言每日一题】——猜名次
  • Agilent E4982A、Keysight E4982A、LCR 表,1 MHz 至 3 GHz
  • SAP 系统的配置传输
  • 华为OD机试 - 喊七(Python)
  • Docker下快速搭建RabbitMQ单例及集群
  • python代码写开心消消乐
  • 【郭东白架构课 模块一:生存法则】09|法则四:为什么要顺应技术的生命周期?
  • Linux之进程控制
  • SpringBoot社区版专业版带你配置热部署
  • 影响AFE采样精度的因素有哪些?
  • mysqlbackup备份报error:redo log was overwritten
  • Android支持库