首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Babel是如何读懂JS代码的

那么回到代码的解析当中,JS代码有哪些语法单元呢?...大致有以下这些(其他语言也许类似但通常都有区别): 空白:JS中连续的空格、换行、缩进等这些如果不在字符串里,就没有任何实际逻辑意义,所以把连续的空白符直接组合在一起作为一个语法单元。...虽然对于人类来说有意义,但是对于计算机来说知道这是个“注释”就行了,并不关心内容,所以直接作为一个不可再拆的语法单元 字符串:对于机器而言,字符串的内容只是会参与计算或展示,里面再细分的内容也是没必要分析的 数字:JS...执行结果如下: [ { type: "whitespace", value: "\n" }, { type: "identifier", value: "if" }, { type: "whitespace...之后jQuery的诞生真正地让JS成为了web应用开发核心,web前端工程师这种职业也才真正独立出来。但后来随着语言预处理和打包等技术的出现,前端真的是越来越强大但是技术栈也真的是变得越来越复杂。

1.8K30

给 eslint 写一个插件

linter 是一种代码静态分析工具,它可以帮你找到代码中可能存在的错误与 bug,也能找出代码风格的问题,不过因为只是静态分析,对 js 这种动态类型的语言所能做的就比较有限了,毕竟在 js 中,变量的类型如果不执行就不容易知道...可以重复使用的规则配置文件,比较有名的是 standard 和 airbnb 的规则,配置文件有可能会有依赖的插件,需要自己去安装 parser:用来扩充 eslint 可以处理的语法,有用 babel 转换 js...、json 或 yml 的格式,在这里我们用 js 格式,文件要取名为 .eslintrc.js,这里就用基本的配置,即只用 eslint:recommended 这组设置,如果有其它的插件也像这样进行基本的设置...选 eslint 用的解析器 espree,这里要替换的是 ObjectExpress module.exports = { meta: { // 可以被修复的规则一定要定义,这里除了 'whitespace...' 外还有 'code' ,不过知识分类上的问题 // 这里因为是要加换行,所以选 'whitespace' fixable: 'whitespace', // 可以定义可能会出现的信息

80530

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券