</> htmx ~ 外包(Vendoring)

主要观点:

  • 介绍了“vendoring”软件这一技术,即直接将其他项目的源代码复制到自己的项目中,其在软件开发中历史悠久,如在[ruby 社区]起源,如今仍被使用,如可轻松引入 htmx 库。
  • 阐述了“vendoring”的优势,包括项目全部代码纳入源代码库,提高依赖可见性,便于调试和修改代码,从安全角度可自动分析代码等,但也存在传递依赖问题这一重大缺点,不过这也促使形成独立文化。
  • 指出依赖管理器可解决“vendoring”的传递依赖问题,但也有权衡,如 htmx 使用 NPM 管理开发依赖导致依赖数量膨胀,还可能引入危险的 polyfill 等,展示了依赖管理器存在的文化问题。
  • 引用其他开发者的观点,如 Armin Ronacher 对依赖的看法,Tom Macwright 对“vendoring”的思考等,强调减少依赖的重要性。
  • 提到一些使软件更适合“vendoring”的做法,如 DaisyUI 减少依赖,以及一些 htmx 相关的推荐“vendoring”的项目。
  • 简要提及结合“vendoring”和依赖管理的技术,如 vendor-first 依赖管理器,有望解决“vendoring”的传统弱点。

关键信息:

  • “vendoring”技术及示例(如引入 htmx 库)。
  • “vendoring”的优势(如提高可见性等)和缺点(传递依赖问题)。
  • 依赖管理器及其问题(如 htmx 使用 NPM 导致依赖膨胀等)。
  • 其他开发者对依赖的看法和相关项目。
  • vendor-first 依赖管理器的提及。

重要细节:

  • “vendoring”的 curl 命令用于下载 htmx 源代码到项目中。
  • 提到 htmx 的package-lock.json文件中依赖数量的膨胀及相关问题。
  • 列举的一些推荐“vendoring”的项目及其特点。
  • 提及的 vendor-first 依赖管理器的相关工具及特点。
阅读 12
0 条评论