前端工程搭建入门(四)支持react 16的 fragment语法

第四步:支持 react16 的 fragment 语法

这个语法就是 <> </> ,使用方式:

react fragment语法简写方式

别看用起来很爽,想要babel支持、Eslint校验通过 还是要费些周折啊。下面就来说说怎么折腾😂

版本依赖更新

上图:

babel依赖版本升级

注意点

  • 参考react官方文档 得知babel 7 才开始支持 react fragment 语法解析,而 babel 7 开始使用 @babel/core 这种形式的包,其他核心依赖包也采用此形式(别问我怎么知道的,我是一个一个试出来的🤣),因此要把 preset 相关都升级,然后解析就没问题了。
  • Eslint 校验怎么搞?根据上面的文档也有提到,目前支持 fragment 校验的只有 babel-eslint ,先安装 babel-eslint ,然后在 .eslintrc 里面加上 "parser": "babel-eslint" ,变成了这个样子:
    提示字符串必须用单引号

    这只是折行啊,怎么变成字符串了😱?我猜测是 babel-eslint 支持的也不是很好,然后就各种查文档,google,百度,也没有找到解决方法。最后只能硬着头皮自己搞吧,既然提示字符串必须是单引号,那我就把引号的rules去掉吧,使用默认值即可,果然完美解决😆
    image.png
  • .eslintrc 配置
{
    "parser": "babel-eslint",
    "env": {
        "browser": true,
        "node": true,
        "commonjs": true,
        "es6": true
    },
    "extends": [
        "eslint:recommended",
        "plugin:react/recommended"
    ],
    "parserOptions": {
        "ecmaFeatures": {
            "experimentalObjectRestSpread": true,
            "jsx": true
        },
        "sourceType": "module"
    },
    "plugins": [
        "react"
    ],
    "rules": {
        "indent": [
            "error",
            "tab"
        ],
        "linebreak-style": [
            "error",
            "unix"
        ],
        "semi": [
            "error",
            "always"
        ],
        "no-console": "warn"
    }
}

还是坐等 eslint 尽早支持啊。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • EsLint入门学习整理 这两天因为公司要求,就对ESLint进行了初步的了解,网上的内容基本上都差不多,但是内容...
    点柈阅读 26,136评论 3 42
  • 两个月之前在项目中就开始使用 Eslint ,当时直接 copy 别人的 .eslintrc.js 文件,感觉好复...
    dkvirus阅读 112,399评论 33 190
  • ESLint 配置 ESlint 被设计为完全可配置的,这意味着你可以关闭每一个规则而只运行基本语法验证,或混合和...
    静默虚空阅读 41,734评论 3 14
  • 前言 搭一个脚手架真不是一件容易的事,之前为了学习webpack是怎么配置的选择自己搭建开发环境,折腾了好几天总算...
    大柚子08阅读 22,395评论 24 40
  • 《如何学习》笔记 1、人的感受和记忆是可以被调节和植入的 2、记忆是网状的,网络结点放置正确,我们只需要记住更少的...
    娇娇_0826阅读 1,053评论 0 0