前端开发必备工具箱「值得收藏」(前端开发好用的工具)
wxin55 2024-11-17 02:45 14 浏览 0 评论
作者:Tomas Pustelnik
译者:LeanCloud
转发链接:https://segmentfault.com/a/1190000022845846
原链接:https://pustelto.com/blog/tools-i-use/
前言
前端开发是一个相当复杂的方向,至少就大项目而言,你很难仅用浏览器和编辑器完成工作。这里列出了我在开发过程中用到的工具。我希望这个列表能帮助其他人发现一些可以用在工作流程中的好工具。
必备工具
这些是我日常使用的工具,缺了它们我很难高效工作。
- VS Code —— 我选择的编辑器是微软出品的 VS Code。免费、轻量(和 WebStorm 之类的 IDE 相比),大量开箱即用的特性,丰富的扩展。
- 浏览器 —— 我的默认浏览器是 Firefox,有时切换到 Chrome 进行开发。我也安装了其他浏览器,以供测试之用。
- DevDocs —— 这个网页应用汇聚了各种项目的文档,还支持离线使用。当我需要查询文档时,一般会访问这个站点。我主要用它查询 JS 和 DOM/浏览器方面的文档。我真没找到什么能和它媲美的工具(详尽而易于搜索)。你应该看一看。
- Google —— 没错,我经常上网搜索。关于某个 bug 的信息,如何做某件事(有时会是很基础的事情),软件包和软件库的示例代码和文档(如果 DevDocs 没收录),我都会上网搜一搜。
- MDN —— 对任何 web 开发者来说这都是非常棒的资源。这个站点的部分内容可以在之前提到的 DevDocs 上找到,不过有些页面只有 MDN 上有。我主要用它查询一些关于可访问性的内容,上面有不少讨论这一主题的文章。
- StackOverflow —— 经常 google 到上面的内容。如果有问题,多半能在上面找到答案。
- GitHub —— 某个软件包我有疑问,或者想知道关于它的更多信息,我会到它的 GitHub 仓库去翻 issue 和代码,通常能找到问题的答案,就像 StackOverflow。据我个人的经验,如果有关于某个特定软件包的问题,在 GitHub 上翻到相关 issue 的几率要高于在 StackOverflow 上找到相关问题(像 React 这类特别流行的库例外)。当然,我也使用 GitHub 的版本控制功能。
CSS
- CSS-Tricks —— 你能在上面找到大量有趣的文章和窍门。这个网站上也有一个指南(Guides)栏目,包含关于特定 HTML、CSS、JS 概念的深入讲解。我常常访问这个站点更新关于网格布局的知识。不过其他指南也非常棒。这个站点绝对值得一看。
- CSS Reference —— 如果需要更新 CSS 知识或者查下不熟悉、不常用的属性,我会访问这个站点。上面对每个 CSS 属性的讲解很深入,给出的示例也很清楚,便于你理解这些属性并应用于自己的项目。站点的作者是 Sara Soudain。
- Can I Use —— 如果你在意浏览器兼容性,希望负责任地使用前沿特性(渐进增强),那么这是不可或缺的工具。
性能优化
- SVGOMG —— 从设计师那里收到一份为 web 优化的 SVG 文件,这种事情实在太罕见。所以我会用 SVGOMG 优化 SVG,效果十分惊人。这是 SVGO 的网页版,所以你也可以使用相应的命令行工具压缩 SVG。
- Shrinkme.app —— 使用这个网页应用优化图像文件十分快捷方便。开箱即用,支持批量上传,效果相当不错。
- Sqoosh —— 需要将图片压缩到极致,或者创建 webp 格式的图像文件的时候,我会使用这个网站。你可以用它提供的大量选项调出满意的效果。你也可以用它缩放图像或是转换图像格式。它用了很多前沿技术(当初 Google Chrome 团队做这个工具是为了演示现代浏览器的功能),所以你需要使用 Chrome 或基于 Chromium 的浏览器(Opera、Brave 等)。我上次试过,在 Firefox 下这个站点并不能正常工作。
- Icomoon app —— 我需要创建定制图标集时会用这个工具。可以选择现有图标(免费图标和付费图标),也可以上传自己的图标。接着就可以生成相应的图标字体或 SVG 图标文件(今时今日,后者是一个更好的选择)。
- Google Fonts —— 需要创建定制 web 字体时,我会首先访问 Google Fonts。我通常会下载所需文件,然后自行托管,这样性能更好。Google Fonts 有一个很棒的特性,允许只编码需要用到的字符。
- Glyphhanger —— 减少文件大小是提升网站性能的最佳途径之一。Web 字体经常包含很多我们不需要的字形,所以我会用 Glyphhanger 子集化字体。你可以指定需要的 Unicode 区段和字符,Glyphanger 会创建一个只包含相应字符的字体文件。它也可以将 .ttf 文件转为其他更适合 web 的格式,比如 .woff 和 .woff2。需要花一点功夫正确使用这个工具,不过我觉得存在字体性能问题时,这是一个值得考虑的选项。
- Lighthouse —— 我在发布网页前会进行测试,Chrome 浏览器的 Lighthouse 是最常用的工具之一。它会检查各方面的常见问题并给出评分,也会给出改进提示。这是一个非常好的工具,可以初步检查我在开发时是否遗漏了一些问题。
- Font style matcher —— 定制字体加载后会切换字体,如果你希望这个切换不容易察觉,那么可以使用这个字体风格匹配器找到和定制字体类似的默认字体。
可访问性
- VoiceOver —— macOS 的默认屏幕阅读器。需要花一点时间熟悉这个工具(我推荐这篇介绍文章),不过我努力在开发过程中时不时用下 VoiceOver。多亏这一点,我的项目中 aria 属性和面向屏幕阅读器的文本使用量大增。使用 VoiceOver 后你会惊讶地发现一些日常使用的网页组件为屏幕阅读器用户提供的上下文信息少得可怜。
- a11y guidelines —— 通常我会尽量去找可访问性良好的解决方案,不过有的时候还是不得不自己动手,这时我会参考这个页面。这篇可访问性指导原则详细解释了什么是可访问性,为什么可访问性很重要,如何实现。很多情况下,复制其中的示例代码略作调整后即可应用于实际项目。
- WAI-ARIA specification —— 我并不经常阅读规范。如果我在读规范,那么往往是在读这一篇。其中包含大量关于如何使用 aria 角色和属性的有价值信息。要我说,任何严肃对待可访问性的开发者,都需要读下这篇规范。
值得一提
最后列下个人觉得挺好用但又没那么常用的工具。
- Responsive breakpoints generator —— 手动创建响应式图像的多种变体很痛苦。用这个工具就很方便。
- HTML Arrows —— 各种符号的 Unicode 码、HTML 十六进制编码、HTML 实体编码、HTML 实体。
- Char reference —— 类似上一个工具,但显示的信息更少,主要显示 HTML 实体。
- Typography cheatsheet —— 讲解常用的字体排印规则和问题。
- Modular scale —— 设计网页时我通常使用这个工具选择模块化的缩放方案。如有兴趣了解更多关于这个主题的内容,请参考 A List Appart 上的这篇文章 和 Tim Brown 在 Build Conf 2010 上的演讲。
- CSS gradient generetor —— 创建渐变背景的在线工具。
- Smooth shadow generator —— 为网站添加美观的阴影。
- Bezier curve generator —— 定制 CSS 的立方贝塞尔曲线定时函数。
- Easing functions —— 各种缓动函数,可用于 CSS 动画和变换。
- ngrok —— 需要向别人展示作品或者测试不同设备上的效果时,我会使用 ngrok。ngrok 可以将本地运行的服务暴露到公网上。不过有的时候配合 Browserstack 的 localhost 扩展时不能工作。
- sharing buttons —— 如果你只需要一个简单的分享按钮,不想用 JS,不想折腾追踪用户的复杂逻辑,那么这个工具特别好用。
- Unix timestamp converter —— unix 时间戳转换器。
- CSS to JS converter —— 可以将 CSS 转成 JS,也可以将 JS 转回 CSS。基于 CSS-in-JS 库开发时这个工具十分方便。
- Browser default styles —— 常见浏览器的默认样式。
结语
以上就是我在工作中使用的提高效率的工具,希望能帮你发现一些有用的工具。
推荐JavaScript经典实例学习资料文章
《一文彻底搞懂JavaScript 中Object.freeze与Object.seal的用法》
《可视化的 JS:动态图演示 - 事件循环 Event Loop的过程》
《可视化的 js:动态图演示 Promises & Async/Await 的过程》
《Pug 3.0.0正式发布,不再支持 Node.js 6/8》
《通过发布/订阅的设计模式搞懂 Node.js 核心模块 Events》
《「速围」Node.js V14.3.0 发布支持顶级 Await 和 REPL 增强功能》
《JavaScript 已进入第三个时代,未来将何去何从?》
《前端上传前预览文件 image、text、json、video、audio「实践」》
《深入细品 EventLoop 和浏览器渲染、帧动画、空闲回调的关系》
《推荐13个有用的JavaScript数组技巧「值得收藏」》
《36个工作中常用的JavaScript函数片段「值得收藏」》
《一文了解文件上传全过程(1.8w字深度解析)「前端进阶必备」》
《手把手教你如何编写一个前端图片压缩、方向纠正、预览、上传插件》
《JavaScript正则深入以及10个非常有意思的正则实战》
《前端开发规范:命名规范、html规范、css规范、js规范》
《100个原生JavaScript代码片段知识点详细汇总【实践】》
《手把手教你深入巩固JavaScript知识体系【思维导图】》
《一个合格的中级前端工程师需要掌握的 28 个 JavaScript 技巧》
《身份证号码的正则表达式及验证详解(JavaScript,Regex)》
《127个常用的JS代码片段,每段代码花30秒就能看懂-【上】》
《深入浅出讲解JS中this/apply/call/bind巧妙用法【实践】》
《干货满满!如何优雅简洁地实现时钟翻牌器(支持JS/Vue/React)》
《面试中教你绕过关于 JavaScript 作用域的 5 个坑》
作者:Tomas Pustelnik
译者:LeanCloud
转发链接:https://segmentfault.com/a/1190000022845846
原链接:https://pustelto.com/blog/tools-i-use/
相关推荐
- Shiro学习系列教程三:集成web(web集成环境)
-
相关推荐:《Shiro学习系列教程一:Shiro之helloworld》《Shiro学习系列教程三:集成web》《Shiro学习系列教程四:集成web(二)》《Shiro学习系列教程五:自定义Real...
- 写了这么多年代码,这样的登录方式还是头一回见
-
SpringSecurity系列还没搞完,最近还在研究。有的时候我不禁想,如果从SpringSecurity诞生的第一天开始,我们就一直在追踪它,那么今天再去看它的源码一定很简单,因为我们了...
- Shiro框架:认证和授权原理(shiro框架授权的四种方式)
-
优质文章,及时送达前言Shiro作为解决权限问题的常用框架,常用于解决认证、授权、加密、会话管理等场景。本文将对Shiro的认证和授权原理进行介绍:Shiro可以做什么?、Shiro是由什么组成的?举...
- Spring Boot 整合 Shiro-登录认证和权限管理
-
这篇文章我们来学习如何使用SpringBoot集成ApacheShiro。安全应该是互联网公司的一道生命线,几乎任何的公司都会涉及到这方面的需求。在Java领域一般有SpringS...
- Apache Shiro权限管理解析二Apache Shiro核心组件
-
ApacheShiro核心组件Subject(用户主体)Subject是Shiro中的核心概念之一,表示当前用户(可以是登录的用户或匿名用户)。它是与用户交互的主要接口,提供了对用户身份验证...
- 详细介绍一下Apache Shiro的实现原理?
-
ApacheShiro是一个强大、灵活的Java安全框架,设计目标是简化复杂的安全需求,提供灵活的API,使开发者能方便地将安全功能集成到任何应用中。主要作用是用于管理身份验证、授权、会话管理和加...
- 什么是Apache Shiro?SpringBoot中如何整合Apache Shiro?
-
ApacheShiro是一个功能强大且易于使用的Java安全框架,主要用于构建安全的企业应用程序,例如在应用中处理身份验证(Authentication)、授权(Authorization)、加密(...
- Apache Shiro权限管理解析三Apache Shiro应用
-
Shiro的优势与适用场景优势简单易用:API设计直观,适合中小型项目快速实现权限管理。灵活性高:支持多种数据源(数据库、LDAP等),并允许开发者自定义Realm。跨平台支持:不仅限于We...
- 那些通用清除软件不曾注意的秘密(清理不需要的应用)
-
系统清理就像卫生检查前的大扫除,即使你使出吃奶的劲儿把一切可能的地方都打扫过,还会留下边边角角的遗漏。随着大家电脑安全意识的提高,越来越多的朋友开始关注自己的电脑安全,也知道安装360系列软件来"武装...
- JWT在跨域认证中的奇妙应用(jq解决跨域)
-
JWT在跨域认证中的奇妙应用什么是JWT?让我们先来聊聊JWT(JSONWebToken)。它是一种轻量级的认证机制,就像一张电子车票,能让用户在不同的站点间通行无阻。JWT由三部分组成:头部(H...
- 开启无痕浏览模式真能保护个人隐私吗?
-
在访问网站页面时,你是否有过这样的疑虑,自己访问的会不会是山寨网站?用公用电脑上网,个人信息会被别人看到吗?这时,有人会说,使用浏览器的“无痕浏览”模式不就行了,可以在操作中不留下“蛛丝马迹”,但,真...
- 辅助上网为啥会被抛弃 曲奇(Cookie)虽甜但有毒
-
近期有个小新闻,大概很多小伙伴都没有注意到,那就是谷歌Chrome浏览器要弃用Cookie了!说到Cookie功能,很多小伙伴大概觉得不怎么熟悉,有可能还不如前一段时间被弃用的Flash“出名”,但它...
- cookie、session和token(cookie,session和token的区别)
-
Cookie的概念最早是在1994年由NetscapeCommunications的程序员LouMontulli发明的,目的是为了解决当时早期互联网的一个关键问题:HTTP无状态协...
- 小白都能看懂的session与cookie的区别理解
-
cookie/session都是跟踪识别浏览器用户身份的一个东西。cookie的理解:我们要知道,服务器和客户端之间进行数据传输,需要使用到一个超文本传输协议(http协议),而http协议本身是个...
- 面试:网易一面:支撑10万QPS的电商购物车系统如何架构设计呢?
-
1.需求分析:10万QPS的购物车系统需要满足哪些需求?回答:10万QPS的购物车系统需要满足以下核心需求和挑战:核心功能:添加、删除、修改购物车商品实时查看购物车列表支持高并发读写(10万QPS)...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- Shiro学习系列教程三:集成web(web集成环境)
- 写了这么多年代码,这样的登录方式还是头一回见
- Shiro框架:认证和授权原理(shiro框架授权的四种方式)
- Spring Boot 整合 Shiro-登录认证和权限管理
- Apache Shiro权限管理解析二Apache Shiro核心组件
- 详细介绍一下Apache Shiro的实现原理?
- 什么是Apache Shiro?SpringBoot中如何整合Apache Shiro?
- Apache Shiro权限管理解析三Apache Shiro应用
- 那些通用清除软件不曾注意的秘密(清理不需要的应用)
- JWT在跨域认证中的奇妙应用(jq解决跨域)
- 标签列表
-
- hive行转列函数 (63)
- sourcemap文件是什么 (54)
- display none 隐藏后怎么显示 (56)
- 共享锁和排他锁的区别 (51)
- httpservletrequest 获取参数 (64)
- jstl包 (64)
- qsharedmemory (50)
- watch computed (53)
- java中switch (68)
- date.now (55)
- git-bash (56)
- 盒子垂直居中 (68)
- npm是什么命令 (62)
- python中+=代表什么 (70)
- fsimage (51)
- nginx break (61)
- mysql分区表的优缺点 (53)
- centos7切换到图形界面 (55)
- 前端深拷贝 (62)
- kmp模式匹配算法 (57)
- jsjson字符串转json对象 (53)
- jdbc connection (61)
- javascript字符串转换为数字 (54)
- mybatis 使用 (73)
- 安装mysql数据库 (55)