Webhint开源了一种代码检查工具

news/2024/7/3 1:17:46

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


http://lihuaxi.xjx100.cn/news/236133.html

相关文章

Python基础01-Python环境搭建与HelloWorld

目录 从今天开始学习Python Python环境搭建 安装gcc Python源码包安装 开始Python第一个代码HelloWorld! 从今天开始学习Python 为啥选择Python,可能是跟随潮流吧。我现在不知道为什么学习Python,但是可能一年到一年半以后,…

构造函数不能为虚/重载函数总结

构造函数不能为虚/重载函数总结 作为一个类,他最基础的成员函数就要数构造函数了。这里我们先探讨一下构造函数为什么不能是虚函数。 在解决这个问题之前,要先明白类中函数的调用方式。一个类的函数共用一个函数空间,因此在实例化的对象中是不…

Python基础02-Python基础

脚本的第一行 Python脚本的第一行,写Python解释器的路径。这样就可以直接执行Python脚本。 脚本编码 Python2需要指定脚本的编码,Python3不需要指定。 # -*- coding:utf8 -*- 使用input做简单的交互 username input(请输入用户名密码:) password …

JVM GC算法

可达性算法 - 对象生死判定算法 Java通过可达性分析来判定对象是否还被引用。什么是可达性分析呢: Java会从一些叫做GCRoot的对象开始向下遍历,可以遍历到的对象,就是被引用的对象,不可以遍历到的对象就是不可达对象,就…

手把手教你如何新建scrapy爬虫框架的第一个项目(下)

前几天小编带大家学会了如何在Scrapy框架下创建属于自己的第一个爬虫项目(上),今天我们进一步深入的了解Scrapy爬虫项目创建,这里以伯乐在线网站的所有文章页为例进行说明。在我们创建好Scrapy爬虫项目之后,会得到上图…

拜托,面试别再问我时间复杂度了!!!

最烦面试官问,“为什么XX算法的时间复杂度是OO”,今后,不再惧怕这类问题。 快速排序分为这么几步: 第一步,先做一次partition; partition使用第一个元素tarr[low]为哨兵,把数组分成了两个半区&a…

Python基础03-运算符

运算符 算数运算符 算数运算符符号运算数字用法举例字符串用法举例加a 2 3 print(a) # 5s1 "hello" s2 "world" s s1 s2 print(s) # helloworld-减a 12 - 3 print(a) # 9*乘a 12 * 3 print(a) # 36s1 "hello" s2 "world" s…

【Laravel-海贼王系列】第九章, Events 功能解析

Events 注册 框架如何在启动的时候加载注册的事件?框架如何触发事件?1,先在容器中注册 events 的全局对象。 Application 构造函数中对 events 进行注册代码 protected function registerBaseServiceProviders(){$this->register(new EventServiceProvider($th…