Webhint 项目提供了一种用于检查代码的可访问性、性能和安全的开源检查(Linting)工具。在创建 Web 站点和应用中,有越来越多的细节问题亟待完善。为此,Webhint 力图帮助开发人员标记这些细节。
Webhint 以命令行接口(CLI)工具和在线扫描器两种形式提供,使用在线扫描器是最快的上手方式。使用在线扫描器需要为其提供一个公开的URL,用于运行报告并洞悉应用的运行情况。
要在开发工作流中使用Webhint,首先需要使用npm 安装它:
npm install hint
和许多特性丰富的工具一样,Webhint 提供了多种配置选项。最近,项目添加了一个初始化 CLI 命令,用于简化 Webhint 配置的创建:
npm create hintrc
在测试应用时,Webhint 提供三种运行环境: jsdom 、Chrome 和 Edge。后两种运行环境使用了 Chrome DevTools 协议,第一种运行环境使用 Node.js 环境快速地执行有限次数的检查,无需浏览器的支持。
应用的提示(hint)中可能包含大量需检查的内容。例如, http-compression 提示会对应用中的每个资源执行多次请求,指定不同的头部信息,检查和验证 GET 操作返回的内容。
为支持 PWA(渐进增强式 Web 应用, Progressive Web Apps ),Webhint 会分析Web Manifest 清单文件,检查清单中的设置和准确性。
Webhint 工具也可用于验证应用的服务器端是否为某个资源返回了正确的 content-type 。
最近,该项目添加了 CSS 解析器,其中包括了对 PostCSS 抽象语法树(AST)的支持。
解析器还支持 TypeScript、Babel 和 Webpack。与 Webpack 的集成可用于引导摇树优化(Tree Shaking),进而改进应用的性能。与 TypeScript 和 Babel 的集成则通过检查 Webhint 配置中指定的浏览器列表,判定源码到源码的编译器(Transpiler)应该输出的最优 JavaScript 版本。
作为 JS 基金会的托管项目,Webhint 使用 Apache 2 许可开源。Webhint 不仅提供了解析器的源代码,而且提供了在线扫描器的源代码。欢迎开发人员通过GitHub 提供贡献。
查看英文原文: Webhint Open Source Linting Tool
评论 1 条评论