首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

前端科普系列(5):ESLint - 守住优雅的护城河

demo 中的 env 配置就是为相应的环境定义了一组预定义的全局变量。...源码文件中,用注释指定全局变量,格式如下: /* global $ */ const dom = $('id') 在配置文件中配置全局变量,将 globals 配置属性设置为一个对象,该对象包含以你希望使用的每个全局变量...对于每个全局变量,将对应的键值设置为 "writable" 以允许重写变量,或 "readonly" 不允许重写变量。...为了避免上面两种方案需要一一配置每一个全局变量的麻烦,ESLint 预设了好多环境全局变量集合,譬如我们要使用 jQuery 提供的全局变量,只要需要在 env 配置中添加 jquery:true就可以了...demo 中 env 的配置,es2020:true 表示增加了 es2020 的语法特性,node:true 表示增加 node 中所有的全局变量。更多的环境可以参考官网 指定环境 相关章节。

2.2K51
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    代码规范之-理解ESLint、Prettier、EditorConfig

    :无可避免地会出现每个开发者编码习惯不同、代码风格迥异,为了代码高可用、可维护性, 如何从项目管理上尽量统一和规范代码呢?...支持多种文件格式 编辑器读取到文件格式会匹配并遵循配置文件定义的规则; 就近原则 打开文件时,EditorConfig插件会在打开的文件的目录中以及每个父目录中查找名为.editorconfig的文件。...二、ESLint是完全可配置的 ESlint 被设计为完全可配置的,除了规则可插拔,还可以编写自定义规则、引入社区规则配置集、插件等,让ESLint更契合每个项目的具体需求情况; 通过 eslint-plugin-react.../ 复制代码 配置文件中通过globals 配置属性设置,对于每个全局变量键,将对应的值设置为 "writable" 以允许重写变量,或 "readonly" 不允许重写变量。...如brower、node环境变量、es6环境变量等。

    2.9K30

    前端代码质量—怎样实现一个支持多语言、高扩展性的 Linter

    于是有了 JSHint。 JSHint JSHint 基于 JSLint 开发,也是一个 JavaScript 代码静态分析工具,和 JSLint 不同的是,它可以自定义规则,非常灵活。...报告问题 Lint 工具输出的诊断信息需要以合适的形式展现给程序员,以便让他们修改有问题的代码。而根据 Lint 工具运行环境的不同,展现的形式也不一样。...Config 这是 MyLinter 中不同语言、方言之间的关系,因此在 MyLinter 中,配置也被分为: @my/eslint-config-core JavaScript 核心规则配置 React...诊断 根据使用环境的不同,对代码诊断的显示方式也会有所不同, 命令行 命令行中的提示样子都大同小异,错误信息会包括文件名、行、列以及问题,有些情况下还可以展示源代码的前后几行,便于寻找问题。...不同的配置之间总会有一些相同的规则,这些规则如果分散在每个配置中将会导致巨大的维护困难,为此,MyLinter 准备了以下的配置继承结构: @my/eslint-config-core @my/eslint-config-vue

    1.4K20

    前端代码质量—怎样实现一个支持多语言、高扩展性的 Linter

    于是有了 JSHint。 JSHint JSHint 基于 JSLint 开发,也是一个 JavaScript 代码静态分析工具,和 JSLint 不同的是,它可以自定义规则,非常灵活。...报告问题 Lint 工具输出的诊断信息需要以合适的形式展现给程序员,以便让他们修改有问题的代码。而根据 Lint 工具运行环境的不同,展现的形式也不一样。...Config 这是 MyLinter 中不同语言、方言之间的关系,因此在 MyLinter 中,配置也被分为: @my/eslint-config-core JavaScript 核心规则配置 React...诊断 根据使用环境的不同,对代码诊断的显示方式也会有所不同, 命令行 命令行中的提示样子都大同小异,错误信息会包括文件名、行、列以及问题,有些情况下还可以展示源代码的前后几行,便于寻找问题。...不同的配置之间总会有一些相同的规则,这些规则如果分散在每个配置中将会导致巨大的维护困难,为此,MyLinter 准备了以下的配置继承结构: @my/eslint-config-core @my/eslint-config-vue

    1.2K10

    DevOps中的静态检查

    它使用静态分析来查找代码中的潜在问题,如空指针解引用、资源泄露等。FindBugs通过分析Java字节码来查找问题,因此不需要编译源代码。 2....Python语言体系 Pylint:Pylint是一个用于检查Python代码的静态分析工具。它可以检查代码中的错误、查找不符合规范的代码风格,并提供了强大的自定义配置功能。...PyChecker:PyChecker是一个相对较旧的Python静态分析工具,但仍然具有一定的实用价值。它可以检测Python代码中的各种错误和问题,如类型错误、逻辑错误等。...ESLint可以帮助团队保持代码的一致性和质量。 JSHint:JSHint是一个灵活的工具,用于检测JavaScript代码中的错误和潜在问题。...它提供了丰富的选项和自定义配置,可以满足不同的编码规范和要求。JSHint具有简单的命令行界面和插件生态,可以与其他开发环境集成。 4.

    19410

    web系统性能及规范检测笔记

    相对于JSLint来说,JSHint稍微友好一些,可配置性更高。也是现在web开发者使用最多的静态检查工具之一。...将增强参数设置为true,则JSHint会检查规则更严格,在某些情况下会产生更多告警;同理,将松弛参数设置为true,则JSHint会检查规则更友好,在某些情况下会产生的告警更少。...sub 允许使用方括号语法获取对象属性 除此之外还有一个环境参数(Environments),这个参数告诉JSHint有一些全局变量已经被预定义。...它拥有90多个不同的规则,但是如果不做配置的话就没有任何作用。换言之,一切JSCS的要做的东西都需要根据需求自定义开启。...优点:可以自定义插件进行扩展 缺点:慢 ESLint ESLint是Zakas大神2013年开发的工具,它的特点是可扩展、每条规则独立、不内置编码风格。

    1.1K60

    JSLint,JSHint,ESLint对比

    在这里还要提一点,ESLint最初并不是为了造一个重复的轮子,而是作者在实际使用中的需求没有能得到JSHint团队的回应,所以他就结合当时的JSHint和另一个代码风格的检查工具JSCS写出来了现在具备代码风格检查...JSLint,JSHint和ESLint的对比 这三个工具各有特色,我只是做一下对比,选择的话,看个人需求就好了。 JSLint 优点 配置是老道已经定好的,开箱即用。...这肯定是故意的XD) 可配置为警告和错误两个等级,或者直接禁用掉 支持插件扩展 可以自定义规则 可以根据错误定位到对应的规则 支持ES6 唯一一个支持JSX的工具 不足 需要进行一些自定义配置(因为太灵活了嘛...的Vim配置 安装jshint sudo npm install jshint -g 在vimrc中添加如下配置 let g:syntastic_javascript_checkers = ['jshint...'] 也可以使用独立插件jshint.vim ESLint的Vim配置 sudo npm install eslint -g 在vimrc中添加如下配置 let g:syntastic_javascript_checkers

    4K31

    web系统性能及规范检测笔记

    相对于JSLint来说,JSHint稍微友好一些,可配置性更高。也是现在web开发者使用最多的静态检查工具之一。...将增强参数设置为true,则JSHint会检查规则更严格,在某些情况下会产生更多告警;同理,将松弛参数设置为true,则JSHint会检查规则更友好,在某些情况下会产生的告警更少。...sub 允许使用方括号语法获取对象属性 除此之外还有一个环境参数(Environments),这个参数告诉JSHint有一些全局变量已经被预定义。...它拥有90多个不同的规则,但是如果不做配置的话就没有任何作用。换言之,一切JSCS的要做的东西都需要根据需求自定义开启。...优点:可以自定义插件进行扩展 缺点:慢 ESLint ESLint是Zakas大神2013年开发的工具,它的特点是可扩展、每条规则独立、不内置编码风格。

    77520

    Eslint团队终于妥协了...

    Eslint的崛起 在2013年之前,前端工程师通常使用JSLint或JSHint作为「代码检查器」,用以检测: 代码质量问题 比如:应该避免使用 eval(),应该使用===而不是==......JSHint是从JSLint派生出来的,他们工作原理类似,但JSHint更灵活 —— 他提供了.jshintrc配置文件方便开发者自定义规则。...他将代码解析为AST并分析: 相比于JSHint或JSLint的实现,AST保留了更多代码上下文信息 所以,Eslint不仅可以进行更复杂的规则校验,还能让开发者以插件的形式自己编写规则。...举个例子(来自为什么我不使用 Prettier中的例子),Prettier中通过printWidth属性配置「一行可以显示的字符数」,超过就会折行。...有时候我们并不需要「超过某个字符数就折行」,因为在Git Diff时,折行会破坏Diff信息的可读性: 然而遗憾的是,Prettier并没有提供配置关闭这一行为。

    40920

    零基础学习weex(三)weex工程及工具

    配置文件 二、npm 在搭建weex环境中我们就引入了npm,那时候主要是用作JavaScript包管理工具,此章主要介绍npm script。...初始化 npm init,配置对应的参数,如git repo,name,version之类。...EsLint提供以下支持: ES6 AngularJS JSX Style检查 自定义错误和提示 EsLint提供以下几种校验: 语法错误校验 不重要或丢失的标点符号,如分号 没法运行到的代码块 未被使用的参数提醒...漏掉的结束符,如} 确保样式的统一规则,如sass或者less -检查变量的命名 Weex如何使用EsLint?...extends 一个配置文件可以被基础配置中的已启用的规则继承。 plugins 一个 npm 包,通常输出规则。一些插件也可以输出一个或多个命名的 配置。

    1.5K20

    Vue 项目eslint 配置编程风格(VScode)

    在许多方面,它和 JSLint、JSHint 相似,除了少数的例外: ESLint 使用 Espree 解析 JavaScript。...ESLint常用配置说明 ---- 一个环境定义了一组预定义的全局变量。 配置项 说明 env 运行环境 一个配置文件可以被基础配置中的已启用的规则继承。...配置项 说明 plugins 插件 一个环境定义了一组预定义的全局变量。 配置项 说明 Processor 插件可以提供处理器 ESLint 附带有大量的规则。...你可以使用注释或配置文件修改你项目中要使用的规则。...要改变一个规则设置,你必须将规则 ID 设置为下列值之一: “off” 或 0 - 关闭规则 “warn” 或 1 - 开启规则,使用警告级别的错误:warn (不会导致程序退出) “error”

    3.4K41

    ESLint 在中大型团队的应用实践

    场景支撑:如何实现对场景差异的支持?如何保证不同场景间一致部分(例如 JavaScript 基础语法)的规范一致性? 技术选型支撑:如何在支撑不同技术选型的前提下,保证基础规则(例如缩进)的一致性?...配置能力全面、可层叠、可共享 ESLint 提供了全面、灵活的配置能力,可以对解析器、规则、环境、全局变量等进行配置;可以快速引入另一份配置,和当前配置层叠组合为新的配置;还可以将配置好的规则集发布为...方案应用 除了上述整体方案外,为保证开发者使用更方便,我们还进行了一些配套工作: 持续维护升级:以每月一版的方式持续迭代升级,解决应用中的问题、规则争议,以及支持新的规则或方案。...官网建设:提供详细的使用文档,包括规则信息、接入方法,并且对每个版本提供规则、环境依赖、changeLog 等详细说明。 常见使用问题:更新维护FAQ,帮助后续接入者快速查找并解决问题。...进一步深入分析检查结果和统计数据,发现一些潜在问题,为推动开发质量提升提供辅助,如: 统计开发者在工程中关闭或调整的规则,分析占比较高的规则被关闭的原因,进而调整规则或推动规则的执行。

    1.2K31
    领券