Gahing's blog Gahing's blog
首页
知识体系
  • 前端基础
  • 应用框架
  • 工程能力
  • 应用基础
  • 专业领域
  • 业务场景
  • 前端晋升 (opens new window)
  • Git
  • 网络基础
  • 算法
  • 数据结构
  • 编程范式
  • 编解码
  • Linux
  • AIGC
  • 其他领域

    • 客户端
    • 服务端
    • 产品设计
软素质
  • 面试经验
  • 人生总结
  • 个人简历
  • 知识卡片
  • 灵感记录
  • 实用技巧
  • 知识科普
  • 友情链接
  • 美食推荐 (opens new window)
  • 收藏夹

    • 优质前端信息源 (opens new window)
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Gahing / francecil

To be best
首页
知识体系
  • 前端基础
  • 应用框架
  • 工程能力
  • 应用基础
  • 专业领域
  • 业务场景
  • 前端晋升 (opens new window)
  • Git
  • 网络基础
  • 算法
  • 数据结构
  • 编程范式
  • 编解码
  • Linux
  • AIGC
  • 其他领域

    • 客户端
    • 服务端
    • 产品设计
软素质
  • 面试经验
  • 人生总结
  • 个人简历
  • 知识卡片
  • 灵感记录
  • 实用技巧
  • 知识科普
  • 友情链接
  • 美食推荐 (opens new window)
  • 收藏夹

    • 优质前端信息源 (opens new window)
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 前端基础

  • 应用框架

  • 工程能力

    • 工程效率

    • 编译构建

    • 工程管理

      • monorepo

      • npm

        • npm link 存在的问题
        • npm供应链攻击
        • npm资料
        • pnpm介绍
        • 前端依赖管理-前世今生及未来
          • 前言
          • 前端
          • 依赖设计
          • 从 0 开始设计一套依赖管理方案
            • 把包拍平可以么?
            • 版本变化了?
            • 总结
          • 截至目前,几个方案的功能支持程度
          • 其他语言呢?
            • Rust
            • Java
            • go
          • 拓展阅读
        • npm version 命令
        • npm 发包过程
        • 关于 lockfile 合并冲突的问题分析与最佳实践
        • 前端依赖一致性的问题分析与最佳实践
        • 浅谈 package-lock.json 合并冲突修复算法
    • JS 模块化

    • CSS 模块化

    • 工程质量

    • 前端测试

    • CI&CD

  • 应用基础

  • 专业领域

  • 业务场景

  • 大前端
  • 工程能力
  • 工程管理
  • npm
gahing
2022-08-23
目录

前端依赖管理-前世今生及未来草稿

很多新入门的前端直接上手工程化,可能都不了解以前是怎么做开发的,简单讲下没有依赖管理前,前端是怎么做开发的

不会具体提及各个依赖管理方案和版本的区别(死知识),我们从自己使用的角度,来设计一套依赖管理方案。

最后再讲下其他语言的依赖管理是怎么做的

# 前言

每种技术语言在进行开发时,基本不可避免的会引用依赖

# 前端

回到前端

目前有几种方案, npm pnpm yarn

关注点: 代码如何加载依赖?

开发环境、生产环境所需的依赖不同

lock 的问题,解决 npm 多源的问题

忽略源

pnp 模式?yarn-pnp

# 依赖设计

# 从 0 开始设计一套依赖管理方案

忽略原先 node 的依赖设计, require 规则、node_modules 设计

XXXX 方案

这也正是 npm v1 的解决方案

目前解决了 xx 问题,但是我们也遇到了 y 问题

# 把包拍平可以么?

# 版本变化了?

# 总结

安装速度

版本问题

其他问题

  • 幽灵依赖

# 截至目前,几个方案的功能支持程度

列个表

# 其他语言呢?

问题来了,每个语言的依赖管理都是怎么做的?对前端来说又有和借鉴?

# Rust

Cargo 的设计

# Java

maven 自动分析依赖

# go

# 拓展阅读

https://www.5axxw.com/wiki/content/siqqkp

https://zhuanlan.zhihu.com/p/83698275

https://zhuanlan.zhihu.com/p/137535779

https://www.v2ex.com/t/635217

https://segmentfault.com/a/1190000014938685

编辑 (opens new window)
上次更新: 2024/09/01, 23:56:56
pnpm介绍
npm version 命令

← pnpm介绍 npm version 命令→

最近更新
01
浅谈代码质量与量化指标
08-27
02
快速理解 JS 装饰器
08-26
03
Vue 项目中的 data-v-xxx 是怎么生成的
09-19
更多文章>
Theme by Vdoing | Copyright © 2016-2024 Gahing | 闽ICP备19024221号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式