所以,为了避免类似事情的发生,我们需要一定的文档积累,但这些文档至少需要包含什么内容呢,这就需要我们协定下一定的规范。...rules: { // 末尾不加分号,只有在有可能语法错误时才会加分号 semi: 0, // 箭头函数需要有括号 (a) => {} "arrow-parens": 0.../ tab 用两个空格代替 tabWidth: 2, // 仅在语法可能出现错误的时候才会添加分号 semi: false, // 使用单引号 singleQuote...', // 每个文件格式化的范围是文件的全部内容 rangeStart: 0, rangeEnd: Infinity, // 不需要写文件开头的 @prettier...为什么这么做? 当然,规范化,并不是说定好后就能立马彻底解决以上所有痛点,而是优先针对增量的项目进行规范,逐步的积累我们的公共基础能力,提高可复用和可维护性。
"comma-dangle": ["error", "always-multiline"] 数组和对象键值对最后一个逗号, never参数:不能带末尾的逗号, always参数:必须带末尾的逗,always-multiline...要新增忽略检测的规则,首先要在项目根目录创建一个 .eslintignore 文件告诉 ESLint 去忽略掉不需要检测的文件或者目录。...具体来说,只需要在package.json文件里面的scripts里面新增一条命令即可: "lint-fix": "eslint --fix --ext .js --ext .jsx --ext .vue..."plugins": [ "html" ], "parser": "babel-eslint" } 为什么我们要配置parser呢?...同时,使用webpack方式构建的项目,还需要在webpack.config.base.js的module下面的rules里面添加一个如下脚本: rules: [ { test: /\.
: pnpm i eslint -D -w 这种校验只需要在开发环境使用,所以下载在开发环境中即可,同时,因为我们是Monorepo项目,所以我们需要在后面加-w,如果是普通的单仓库项目是不需要加后面的内容的...,如果有不了解的,之前去看前面提到的两篇文章,里面都有详细的介绍,我们就不废话了,直接添加一个规则,比如不允许使用console,只需要在rules里面添加: "rules": { 'no-sonsole...tabWidth: 2, //每个缩进的空格数 useTabs: false, //使用制表符而不是空格缩进行 semi: true, //在语句的末尾打印分号 vueIndentScriptAndStyle...,我们想看看生效没有,比如我们配置了在末尾需要加分号,我们随意找个地方写个不带分号的看看提示: 你会发现没有任何提示,没错,是我们没生效么?...,我们只去配置一个小小的功能就是保存的时候,自动修复eslint的错误即可,我们添加如下: "eslint.validate": ["html", "vue", "javascript", "jsx
首先了解一下什么是持币生息钱.包静态和动态: 1.静态:和字面意思一样,主要在于恒定,不需要有任何的动作的,玩家只需要存币在平台里面去,根据平台规则比如定时给玩家反多少的利息等,这种和存款获得利息道理是一样的...图片 2.动态:动态收.益需要玩家一些操作便能获得到一定的利息,常见的比如在平台存币的同时去推荐其朋友来平台存币,根据朋友的存量来获得额外的利息。...top", "editor.formatOnPaste": false, "editor.matchBrackets": false, "files.associations": { "*.jsx...javascript.implicitProjectConfig.experimentalDecorators": true}"prettier.singleQuote": true, 单引号"prettier.eslintIntegration": true, prettier按照eslint约定的规范来格式化..."prettier.trailingComma": "all", 所有的对象和数组最后一项的末尾都要写逗号·"prettier.semi": false, 不要分号"javascript.implicitProjectConfig.experimentalDecorators
- 启用 JSX * */ "ecmaFeatures": {} }, // 指定代码运行的宿主环境 env: { browser: true..."always" (默认) 要求在语句末尾使用分号, "never" 禁止在语句末尾使用分号 (除了消除以 [、(、/、+ 或 - 开始的语句的歧义)图片那么经过了如上的配置之后就覆盖了引入的 standard...当中部分不合理的规则,从而实现了自己需要满足的需求了,现在开始来测试一下我们配置的 eslint,我们先将 eslint loader给注释掉,先来看看没有使用 eslint 打包的效果,然后在看看放开...放开之后:图片发现提示了几个错误,我们将它提示的内容解决下,就是说没有发生 name 变量从定义开始就没有在进行修改过了可以利用 const 进行修饰,定义字符串需要使用单引号不能使用双引号,还有一个就是说每段代码的最后都要添加一个分号来进行结尾...:图片提升开发效率通过阅读打包错误信息来修复不符合规范语法非常低效,所以我们可以通过 webstrom 插件来帮我们完成提示,如上的自动修正是在编译的时候进行的,如果想要在编写的时候就有对于的修正效果,
导包 // import React from 'react' // 17.x 以后的版本不需要引入react import ReactDom from 'react-dom/client' // 2...> htmlFor 推荐将 JSX 代码放在()中(美观、且能防止被格式化插件自动插入分号产生 Bug) 可以编写注释 {/* 这是jsx中的注释 */} 不能写for循环和if分支 添加prettier...(&&)运算符 不要在 jsx 中直接写 if/else 需要抽到单独的函数中 // 1....创建 const age = 18 // 不要在jsx中直接写 if/else 需要抽到单独的函数中 const fn = () => { if (age >= 18) { return...循环 数组forEach、map方法 要为遍历生成的元素添加唯一性的 key 属性,一般是id // 1.
以 WebStrom 为例,安装 Editorconfig 插件 此时需要在项目根目录下新建配置文件 .editorconfig 官网文档 – 跨编辑器保持统一代码风格 # http://editorconfig.org...、Less、JSX、Angular、Vue、GraphQL、JSON、Markdown 等语言,基本上前端能用到的文件格式它都可以搞定,是当下最流行的代码格式化工具。...:在多行输入的尾逗号是否添加,设置为 none,比如对象类型的最后一个属性后面是否加一个,; semi:语句末尾是否要加分号,默认值true,选择false表示不加; { "useTabs": false...使用 Eslint 进行代码检测 在前面创建项目的时候,我们就选择了ESLint,所以Vue会默认帮助我们配置需要的ESLint环境。...比如在 prettier 中规定在代码保存的时候自动格式化代码,使得所有得单引号变为双引号,但是我们在 eslint 中规定的是,不可以是双引号。这就不符合 eslint 的规范了。
比如,运算符两边的空格、语句末尾的分号。 不好的写法。比如,使用 == 进行比较而不是 ===。 可能存在逻辑问题的代码模式。比如,定义了一个变量,但没有使用到它。...比如:{semi: ["error", "always"]} 要求必须在语句末尾添加分号,相反,semi: ["error", "never"] 禁止任何不必要的分号。...既然 ESLint 也能做格式化工具,那为什么还需要 Prettier?...所以,想同时使用两者,你需要在 ESLint 中使用该配置,具体的配置方式参考使用文档即可。...许多编辑器都支持 EditorConfig,有的可能需要安装插件,不需要项目安装什么依赖包,只需要在根目录下创建一个 .editorconfig 文件。
2.坑:在script标签里面需要添加 3.JSX支持表达式的运行 只要使用{}就可以了。...为什么要加上括号啊?...Hello World} }); ReactDOM.render( ,document.getElementById('reactContainer') ) 原因: JavaScript会自动给行末添加分号...比如返回的是多行,就需要加括号,单行不需要,我在开始的时候还遇到一个问题,返回的内容需要使用一个大的标签将其包裹。...> ]; ReactDOM.render( arr },document.getElementById('reactContainer') ) 组件: 1.明确什么时候使用state(需要在组件里进行变化的时候使用
2. { } 书写应遵循 K&R 风格 譬如以下风格是正确的: if expression { ... } 而以下风格是错误的: if expression { ... } 原因可参见第...不得包含在源代码文件中没有用到的包或声明在源代码文件中未使用的变量 4....不需要在语句或声明末尾添加分号,除非一行上有多条语句 实际上,编译器会主动把特定符号后的换行副转换为分号,因此换行符添加的位置会影响 Go 代码的解析。...比如行末是标识符、整数、浮点数、虚数、字符或字符串文字、关键字 break、continue、fallthrough、return 中的一个、运算符和分隔符 ++、--、)、]、} 中的一个。...这也是为什么 Go 语言中 { } 需要遵循 K&R 风格的原因。
当我们安装项目依赖的时候,这个文件会自动更新 接下来我们创建以下文件目录 └── src/ ├── index.ts // 项目入口文件 ├── package.json 添加 TypeScript...我们为什么需要 TypeScript 呢?...: 支持 JSX.参考文档 include:编译器需要编译的文件或者目录 添加 ESLint 代码规范校验 ESLint 可以帮助我们找出有问题的编码模式或不符合规则的代码 有关 ESLint 的详细讨论可以查看这篇文章...并且自动修复 如果需要屏蔽不需要检测的文件或目录,可以在项目根目录添加 .eslintignore .DS_Store node_modules dist build public 添加 Prettier...代码自动格式化工具 Prettier 是一个代码格式化的工具.某些与代码校验有关的规则(例如,语句末尾是否加分号)就可以由 Prettier 自动处理。
要在 VSCode 中集成 ESLint 检查,我们需要先安装 ESLint 插件,点击「扩展」按钮,搜索 ESLint,然后安装即可。...,比如空格、分号等。...', // jsx 不使用单引号,而使用双引号 jsxSingleQuote: false, // 末尾不需要逗号 trailingComma: 'none',...: Infinity, // 不需要写文件开头的 @prettier requirePragma: false, // 不需要自动在文件开头插入 @prettier insertPragma...为什么有些定义了的变量(比如使用 enum 定义的变量)未使用,ESLint 却没有报错?§ 因为无法支持这种变量定义的检查。
', // jsx 不使用单引号,而使用双引号 jsxSingleQuote: false, // 末尾需要有逗号 trailingComma: 'all', /.../ 大括号内的首尾需要空格 bracketSpacing: true, // jsx 标签的反尖括号需要换行 bracketSameLine: false, // 箭头函数...: Infinity, // 不需要写文件开头的 @prettier requirePragma: false, // 不需要自动在文件开头插入 @prettier insertPragma...commit 卡控 为了保证 eslint 规则的有效,需要在提交 commit 的时候进行检查,如果存在没有修复的 eslint 问题直接终止提交。...如果采用第 2 个方案,后续开发老页面保存的时候一定会出现大面积的自动 lint,我们可以在添加新代码前先保存一下触发 lint 并且提交一个 msg 为 lint auto fix 的 commit
七、JSX在React-Native中的应用 1、JSX概述 你一定疑问为什么要用JSX?其实这不是必需,而是建议。...JSX相比节省了很多的代码。...JSX不是什么新奇的东西,JSX只是对JavaScript进行了拓展,仅此而已。...为什么这么做,因为现在机器的内存已经足以支撑这样视图UI的diff计算,用内存计算换取UI渲染效率。...1、最简单的方式 这里我们实现一个最简单的组件,就是邮件的末尾署名的组件。组件意味着复用,意味着统一。现在有这样一个需求,我们需要根据不同用户发送邮件时,生成每个用户的名片(即邮件末尾的署名)。
,不添加则不会继承任何扩展集,仅按照rules下的基本配置来执行。...可以扩展的规则常见的有: airbnb(世界第一) 安装依赖包 npm install eslint-plugin-jsx-a11y eslint-plugin-react eslint-plugin-import...', // jsx 不使用单引号,而使用双引号 jsxSingleQuote: false, // 末尾不需要逗号 trailingComma: 'none',...// 大括号内的首尾需要空格 bracketSpacing: true, // jsx 标签的反尖括号需要换行 jsxBracketSameLine: false, //...: Infinity, // 不需要写文件开头的 @prettier requirePragma: false, // 不需要自动在文件开头插入 @prettier insertPragma
semi: ['error', 'always'], //用于指定是否需要在语句末尾添加分号,这里配置为必须始终添加分号。...{js,jsx,ts,tsx} 校验暂存区、指定目录下的文件类型 // 校验命令,执行 eslint 、prettier "src/**/*....{js,jsx,ts,tsx}" 是指定要针对的暂存文件模式,你可以根据自己的项目需求来配置。...,例如: module.exports = { semi: true, //强制在语句末尾使用分号。...字段中添加一个 commit 的命令。
在下一个章节里面我们会详细介绍元素是如何被渲染出来的,接下来呢,我们先来看看 JSX 的基本使用方法。...我们书写 JSX 的时候一般都会带上换行和缩进,这样可以增强代码的可读性。与此同时,我们同样推荐在 JSX 代码的外面扩上一个小括号,这样可以防止 分号自动插入 的bug....JSX 嵌套 如果 JSX 标签是闭合式的,那么你需要在结尾处用 /> ,就好像 XML 一样: const element = ; JSX 标签可以有子标签...你可以将其视为你想要在屏幕上看到的东西。React 通过读取这些对象来构建 DOM 并保持数据内容一致。 我们将在下一个章节当中介绍更多有关 React 元素 是如何渲染成 DOM 的内容。...我们不需要一定使用 JSX,但它有以下优点: JSX 执行更快,因为它在编译为 JavaScript 代码后进行了优化。 它是类型安全的,在编译过程中就能发现错误,并且防注入攻击。
我们在VSCode中通过文末提供的插件地址或在商店搜索即可,找下载量最大的就对了。...安装完插件后我们可以通过在项目根目录配置.prettierrc文件来配置一份符合我们自定义的风格,文件内容推荐使用JSON格式组合。...API:useTabs 参数类型:bool 默认值:false Semicolons: 介绍和说明:是否在代码语句结尾添加分号。...API:singleQuote 参数类型:bool 默认值:false JSX Quotes 介绍和说明:是否在JSX中使用单引号。...API:bracketSpacing 参数类型:bool 默认值:true Bracket Line 介绍和说明:开始标签的右尖括号是否跟随在最后一行属性末尾。
它被称为JSX,是一个JavaScript的语法扩展。我们建议在REACT中配合使用JSX,JSX可以很好地描述UI应该呈现出它应有交互的本质形式。...JSX可能会使人联想到模板语言,但它具有JavaScript的全部功能。 JSX可以生成REACT“元素”。我们将在下一章节中探讨如何将这些元素渲染我DOM。下面我们看下学习JSX所需要的基础知识。...为什么使用JSX? REACT认为选软逻辑本质上与其他UI逻辑内在耦合,比如,在UI中需要绑定处理事件、在某些时刻状态发生变化时需要通知到UI,以及需要在UI中展示准备好的数据。...搞清楚这个问题后,我们就开始学习JSX吧!...同时,我们建议将内容包裹在括号中,虽然这样做不是将至要求的,但是这可以避免遇到自动插入分号陷阱。
领取专属 10元无门槛券
手把手带您无忧上云