• 从0开发一个Dapp


    在团队项目开发中,所有开发成员都需要保持统一的编码风格,无论是使用何种编辑器。因此每一个崭新的项目都需要提前配置好开发约束,例如ESLint、Prettier、git Hook等各种开发规范。

    集成editorconfig配置

    EditorConfig 帮助开发人员在不同的编辑器和 IDE 之间定义和维护一致的编码风格。有些编辑器会默认加载项目中的 editorConfig 配置(如webStorm),而有些编辑器需要安装 editorConfig 插件支持(如VS Code)。

    当打开一个文件时,editorConfig 插件会在当前打开的目录下以及子目录中查找.editorconfig配置文件,直到找到一个配置文件root=true

    EditorConfig 的配置文件是从上往下读取,并且最近的 EditorConfig 配置文件会被最先读取,匹配 Editorconfig 配置文件中的配置项会按照顺序被应用在项目中,最近的配置优先被应用。如果.editorconfig文件中没有进行配置,则编辑器会使用默认的设置。

    • 通配符
    ** 匹配任意字符串
    ?匹配任意单个字符
    [name] 匹配name中的任意一个单一字符
    [!name]匹配不存在name中的任意一个单一字符
    {s1,s2,s3} 匹配给定的字符串中的任意一个(用逗号分隔) 
    {num1..num2}  匹配num1到num2之间的任意一个整数, 这里的num1和num2可以为正整数也可以为负整数
    复制代码 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 属性
    # https://editorconfig.org
    root = true# 表示是最顶层的配置文件,发现设为true时,才会停止查找.editorconfig文件 
    
    [*]# 表示所有文件都适用
    indent_style = space# 设置缩进风格(tab是硬缩进,space为软缩进)
    indent_size = 2 # 缩进宽度
    end_of_line = cr # 设置换行符,值为lf、cr和crlf
    charset = utf-8 # 设置编码,值为latin1、utf-8、utf-8-bom、utf-16be和utf-16le,不建议使用utf-8-bom
    trim_trailing_whitespace = true# 设为true表示会去除换行行首的任意空白字符。
    insert_final_newline = true# 设为true表示使文件以一个空白行结尾
    
    [*.md] # 表示 md 文件适用以下规则
    max_line_length = off 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    ESLint 配置

    ESLint 的主要作用是做代码规范,例如定义的变量是否使用、是否允许console.log()等,同时 ESLint 附带代码美化的功能,但是在绝大部分情况下,我们会使用 Prettier 来美化代码,而不是 ESLint 自己的代码美化风格。

    使用 create-react-app 创建的 TypeScript React项目默认为已经为我们配置好了ESLint,在node_modules/eslint-config-react-app/index.js中已经配置了绝大部分配置,我们需要做的工作就是在该配置的基础上来扩展该配置,或者也可以完全替换该配置。

    在项目根目录中新建eslintrc.json<

  • 相关阅读:
    (硬核中的硬核)链路追踪落地过程中的挑战与解决方案
    scau CSAPP 第二章家庭作业
    擎创技术流 | 深入浅出运维可观测工具(三):eBPF如何兼容多架构模式性能管理
    C:枚举的优缺
    【问题】SpringBoot之GET请求参数偶发性丢失问题
    计组+OS | 磁盘及固态硬盘SSD
    Python作业【简单算法题】
    MySQL数据库的事务
    [附源码]计算机毕业设计springboot在线招聘网站
    一级缓存(默认开始sqlsession级别)和 二级缓存(testTwoCache)
  • 原文地址:https://blog.csdn.net/web220507/article/details/127659470