2023-12-07 Install vs. Copy


对于依赖,应该选择使用包管理进行安装,还是复制粘贴代码?

我的心路历程:

  • 最开始,肯定是使用 npm install 搞定一切,安装 mui 和 antd 没商量。 😄
  • 然后,tailwindcss 生态的组件库和 demo 缘来缘多,尤其是 shadcn/ui 出来以后,我开始使用 copy & paste 了。😜
  • 最近半年完全不写 UI,全都是和 Data 打交道,肯定要 install 啊,copy & paste 的代码没过几周就面目全非了。💩

现在阶段的判断:

  • 不需要修改默认行为,install

例如:一些用于数据处理的函数,lodash, dayjs 等等

  • 需要修改默认行为,copy and paste

例如:UI 组件 shadcn/ui,业务流程手脚架代码 v0 等等

install vs. copy

install 优点:

  1. 可以进行版本检查,及时跟上依赖的更新以及一些补丁。

install 缺点:

  1. 不擅长删减和自由组合默认行为。(但是可以通过继承和扩展增加功能,即:擅长加,不擅长减

copy 优点:

  1. 可以根据需要删减和自由组合,可能性和自由度更大。

copy 缺点:

  1. 版本升级不便,容易和依赖原作脱钩。

refs: