package.json中
生产依赖 dependencies
-S 或者 默认
开发依赖 devDependencies
-D 或者 --save-dev
理论上
区别:打包上线后, 开发依赖不会被使用,生产依赖会被使用
常见的使用,比如
1、生产版本中需要使用库:
网络请求库:
npm install axios
界面构建库
vue react
组件库
npm install element-plus
2、开发中使用 生产版本不使用的库:
代码格式检查库
npm install husky -D
代码规范库
eslint standardjs
代码或样式转译
babel sass less css-loader ts-loader
打包库
webpack vite
实际上
对于前端程序,依赖包放到dependencies或devDependencies没有区别,由于tree-shaking存在, 打包出来的代码大小是一样的!
对于Node程序(服务端/应用程序/npm包), 会有区别,比如一些测试框架工具等,要把webpack或者gulp或者jest等开发依赖放到devDependencies,来减少别人使用A时下载的包大小。