首页 > 其他分享 >前端知识-工具链

前端知识-工具链

时间:2025-01-20 16:20:42浏览次数:1  
标签:管理 代码 知识 转译 工具 优化 前端 调试

工具链

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

  • 集成开发环境, 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

标签:管理,代码,知识,转译,工具,优化,前端,调试
From: https://www.cnblogs.com/khrushchefox/p/18681752

相关文章

  • 还在手动录直播?学会这招,在群晖 / 飞牛 Nas 等服务器一键部署 40 + 国内外热门直播自动
    文章目录......
  • AI大模型-提示工程学习笔记9-生成知识提示
    卷首语:我所知的是我自己非常无知,所以我要不断学习。写给AI入行比较晚的小白们(比如我自己)看的,大神可以直接路过无视了。有一种改进大语言模型(LLM)推理能力的技术:生成知识作为提示的一部分。这种方法由Liu等人(2022)提出,旨在通过让模型先生成相关知识,再将这些知识整合到推理过......
  • 如何通过跨境电商流程管理工具提升项目效率?几个工具推荐
    在竞争激烈的跨境电商领域,合适的工具就如同得力的助手,能够显著提升运营效率、优化业务流程,助力企业在全球市场中脱颖而出。从市场调研、选品采购,到店铺运营、营销推广以及物流管理等各个环节,都有相应的专业工具可供选择。接下来,我们将深入探讨一系列跨境电商实用工具。一、跨境......
  • 为AI聊天工具添加一个知识系统 之57前端工具:知识图谱、语义网络和认知地图 之2
    本文要点两种推理:演绎deduction和推论inference这两种推理方式(正推-实践常识和反证-常识批判)分别适用于在语义网络、认知地图工具分别用于肯定-求同(演绎推理-”有限解“必然的推理两种:推论corollaries (可能的)和定论theorems(必然的))和否定-求异(推论推理--”无限解“的可......
  • 出海工具集
    群聊分享的一个工具集合,看了几个,感觉有点子用,收藏一波,下面有GitHub的地址;吃水不忘挖井人;GitHub地址......
  • 前端知识-编程语言
    编程语言ES6ECMAScript6/2015规范了脚本语言的设计,包括语法,数据类型,内置对象等,而JS则是遵循这套规范的编程语言之一TSTypeScript是JS的超集,核心特性是类型系统,TS的类型检查可以使许多常见错误暴露于编译阶段,从而减少运行时错误,极大地提升了代码的健壮性......
  • 前端如何防止XSS攻击?
    前端防止XSS攻击(跨站脚本攻击)的方法可以归纳为以下几个关键步骤:输入验证与过滤:对用户提交的所有数据进行严格的验证,确保只有预期的字符和格式被接受。这可以通过正则表达式或预定义的白名单模式来实现,以过滤无效或潜在的恶意字符。限制用户输入的字符串长度,防止因过度输入而......
  • 假设有一个场景,需要前端自己计算十万级别或更多的数据,你有解决什么方案呢?
    在前端开发中处理十万级别或更多的数据是一个挑战,因为浏览器环境和JavaScript引擎的性能限制。以下是一些可能的解决方案和策略,帮助你有效地处理大量数据:分页或懒加载:不要一次性加载所有数据。实现分页机制,每次只加载和显示一小部分数据。使用懒加载技术,当用户滚动到页面底......
  • Jenkins + 微信开发者工具:一键搞定小程序自动化构建与预览!
    微信小程序开发工具目前只支持mac和windows,所以jenkins的slave也只能使用这两种系统,这里我已windows为例。构建批处理仅作了功能实现,更多的判断逻辑自行添加。微信工具提供了客户端和HTTP服务两种方式给外部调用,这里以http方式为例jenkins添加windows端slave修改全局安全......
  • JavaScript的那些不可不知的知识
    目录JavaScript基础JavaScript高级JavaScript基础数据类型:JavaScript的数据类型分为基本数据类型和引用数据类型。基本数据类型包含number(数字)、string(字符串)、boolean(布尔值)、null(空值)、undefined(未定义)。而像array(数组)、function(函数)等则属于引用数据类型。在内......