Welcome to my blog.|

Khru

园龄:2年11个月粉丝:22关注:1

2025-01-20 16:20阅读: 10评论: 0推荐: 0

前端知识-工具链

工具链

一组用于软件开发的工具和技术, 帮助开发者管理好从源代码到最终软件的整个开发过程, 对于前端来讲, 这些工具通常包括:

  • 集成开发环境, IDE

  • 包管理工具, 核心是代码组织与复用

    • npm, 兼容性最强, 速度较慢
    • yarn, 通过并行安装和缓存, 解决了npm速度慢的问题, 但资源消耗大
    • pnpm, 采用共享依赖模型, 同时解决前两者的问题, 但兼容性问题较多
    • 企业级的包管理还可以做更多, 比如
      • 应对供应链污染. 前端项目的直接供应商是NPM仓库, 一个带有bug的包发布后, 会导致本地或持续集成环境产生问题.
        因此会在开源包管理器的基础上增加对bug包的黑名单控制
      • 通过网络IO优化, FUSE, OverlayFS文件系统, 文件IO优化等跨领域技能, 进一步加速依赖安装

包管理有两个主要模式: 单包管理和多包管理. 多包管理适用于在一个代码仓库里管理多个包, 相比单包管理, 可以很方便地共享依赖, 跨包复用代码, 进行联合调试和发布.

通常采用Monorepo的方式管理多包, 比如npm自带的workspace模式, 开源方案Lerna和Rush等等

  • 构建工具, 通常包含代码转译器, 优化器, 打包器, 开发服务器和插件系统
    Webpack(2012), Rollup(2015), Parcel(2017), Vite(2020), Turbopack(2022), Rspack(2023)
    • 转译器也叫代码转换器(Transformer), 编译器(Compiler), 将源代码转换为目标平台能够直接运行的代码, 同时让一些新的语言特性能够兼容旧的环境, 比如箭头函数到普通函数的转换, JSX到JS的转换, Less到CSS的转换
    • 优化器是将转译完成的代码进一步优化, 比如压缩, 混淆和分割, 以提升传输效率和安全性
    • 打包器是将转译好的代码合并到一块, 它通常会内置转译器以及优化器, 从源代码到最终产物, 一站式完成
    • 开发服务器提供一个本地的HTTP服务器, 通过HMR, 传输原生ES模块, 接口代理等功能来提升开发体验
    • 插件系统是功能扩展的主要方式, 可以灵活地改变整个构建工具的行为, 来实现定制化需求

前端构建工具的大趋势是极致整合(减少学习负担)以及使用Rust重写核心模块(提升构建和打包效率, 缓解集成压力)

  • 调试工具

    • 浏览器开发者工具: 用于普通HTML页面的UI, 网络, 性能调试
    • 小程序开发者工具: 用于小程序模拟和真机调试
    • 接口调试工具: Postman, Charles等
    • 框架自带的调试工具: React Developer Tools, Vue Devtools等, 可以展示更为直观的虚拟DOM结构和组件状态
  • 持续集成与部署(CI/CD)工具: Github Action, Travis CI, Jenkins

本文作者:Khru

本文链接:https://www.cnblogs.com/khrushchefox/p/18681752

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Khru  阅读(10)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起