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

说真的,不如用ESLint插件替代掉部分技术文档

3.3.2 create create函数是插件真正工作地方,create函数要求返回一个对象,对象Key值是AST节点类型,Value值则是调用函数。...4.1 需求 import操作常见于页面的最顶部,我们在导入时候,应该也会发现如果我们随意排序这些操作,对于阅读并不是很友好。如下边这份代码。短短六行就是六种不同类型导入。...这个函数有两个参数:一个是导入语句数组,另一个是ESLint上下文对象。该函数主要流程如下: 根据导入语句路径,判断导入语句种类。 根据导入语句方式,判断导入语句方式。...没错就是.eslintrc.js 中常见parser字段,目前我们需要关心只有如何为我们插件选择一个第三方解析器,比如“@typescript-eslint/parser”就是一个解析器。...如果用户选择修复,ESLint将使用sortImports()函数对导入语句进行排序,并替换源代码中导入语句

1K10

从 0 到 1 搭建一个企业级前端开发规范

让我们开始安装 ESLint 相关依赖 yarn add eslint eslint-plugin-react eslint-plugin-react-hooks @typescript-eslint.../parser @typescript-eslint/eslint-plugin --dev 以下是一些 ESLint 依赖解释 eslint: ESLint 核心库 eslint-plugin-react...校验范围 @typescript-eslint/eslint-plugin:TypeScript 代码规范校验规则 在根目录创建.eslintrc.json文件并加入以下内容 { "parser...代码自动格式化工具 Prettier 是一个代码格式化工具.某些与代码校验有关规则(例如,语句末尾是否加分号)就可以由 Prettier 自动处理。...feat:新功能(feature) fix:修补 bug docs:文档(documentation) style:格式(不影响代码运行变动) refactor:重构(即不是新增功能,也不是修改 bug

2.8K20

ESLint + Prettier + husky + lint-staged

本文从两个方向出发:1、git 提交规范;2、代码风格统一 假如团队中小伙伴在提交代码时没有遵循规范要求,例如只写了一个"修改"或"更新,这会给团队中其他小伙伴造成困扰呢,不得不花时间查看代码和推测逻辑...trailingComma: "none", //不允许在多行结构最后一个元素或属性后添加逗号。 singleQuote: true, //使用单引号而不是双引号来定义字符串。...它通过定义一组规则来检查提交信息是否符合指定约定,比如要求提交信息首行必须以特定类型开头,自定义字符长度限制等。.... # 错误原因: 这个错误是由于在使用 @typescript-eslint/dot-notation 规则时,没有为 @typescript-eslint/parser 提供正确 parserOptions.project...--save-dev eslint @typescript-eslint/eslint-plugin @typescript-eslint/parser prettier eslint-config-prettier

1.8K30

实战案例:初探工程配置 & 图标组件热身

eslint-plugin-import. eslint-plugin-import 是 eslint-config-airbnb-base 要求安装,同时也是开发过程中一个利器,保证我们能按预期使用...Prettier 项目中要不要使用 Prettier 取决于个人,没有强制要求,毕竟没有 Prettier 之前,大家也活得挺好。...这个时候,就需要通过 Linter 体系中一些插件配置关掉一部分与 Prettier 有冲突规则,尽量在风格上以 Prettier 为准,比如 eslint-config-prettier[5] 和...,看来这就是 Prettier 接管了 ESLint 一部分工作精髓啊!...对于 ESLint 和 TypeScript 结合,我们主要关注这个仓库 typescript-eslint[11],这里面有我们需要 @typescript-eslint/parser和@typescript-eslint

61020

【JavaScript】ESlint & Prettier & Flow组合,得此三神助,混沌归太清

,借助babel编译切入JavaScript编码当中,同时,与ts不同是,Flow.js类型检查不是强制,可以通过//@flow手动开启,意味着,你可以自由选择某个文件是否开启类型检查。...类型不匹配,报错(要求数字但传入了字符串) ?...Prettier prettier意思是漂亮,但其实我觉得,“美化代码”并不是核心功能,它核心功能是“统一代码规范”(当然了,是用漂亮规范去统一哈哈)。...解析器,比如我们项目中就改成了babel-parser "parser": "@typescript-eslint/parser”, 4.rules 配置具体检查细节,比如下面这条配置直接干了no-console...我们有extends配置项这个好东西,它提供继承功能直接集成了一些默认配置,如下 "extends":[ "eslint:recommended", "plugin:@typescript-eslint

1.1K20

如何制定企业级代码规范与检查

本文目标 目标不是一次全部定出来,在实践和调研过程中会添加一些 去掉项目中原有的 TSLint ,统一使用 ESLint,但是在 ESLint 中加入 TSLint 检测插件 Prettier 支持格式化规则全部使用...我们目前选择方式不是继承,挑选出了一些适合我们 ESLint 规则(因为是在原有代码重新建立规范,防止改动过大)。...举个例子 rules:{ '@typescript-eslint/adjacent-overload-signatures': 2, // 要求成员重载是连续 } 具体想修改那些自定义规范,...这里关于防止 Prettier 和 ESLint 冲突,画了一张 另外 eslint-plugin-prettier 和 eslint-config-prettier 源码都不是很复杂,感兴趣同学可以去看看...除了我们要求代码,如果开发者添加别的代码也应该进行格式化,除非忽略文件,开发者本地安装什么插件我们管不到,在用户级别配置中 setting.json 中 { // 此模式不能使用skipFiles

1.9K20

使用eslint + prettier + husky + lint-staged 约束项目的最佳实践!

eslint 概念 eslint是一个集大成语法校验工具,他会帮你去规范你代码,也会帮你fix一部分小问题,支持extends、plugin、rules等属性,他原理我也在 【源码角度】7分钟带你搞懂..."^7.18.9","@babel/eslint-plugin": "^7.18.10","@ecomfe/eslint-config": "^7.4.0","@typescript-eslint/eslint-plugin...": "^5.17.0","@typescript-eslint/parser": "^5.17.0","eslint": "^7.19.0ear","eslint-plugin-prettier":...: [ // 继承eslint规则 'eslint:recommended', 'plugin:@typescript-eslint/recommended',...)文件代码格式,而不是去校验所有的文件格式,就需要使用lint-staged了 lint-staged 安装 "lint-staged": "^12.3.7" 项目根目录新建.lintstagedrc.js

1.6K21

体验Vite快速构建项目

这实际上是让浏览器接管了打包程序部分工作:Vite 只需要在浏览器请求源码时进行转换并按需提供源码。根据情景动态导入代码,即只在当前屏幕上实际使用时才会被处理。...浏览器支持 开发环境中:Vite需要在支持原生 ES 模块动态导入浏览器中使用。 生产环境中:默认支持浏览器需要支持 通过脚本标签来引入原生 ES 模块 。...,我们可以发现index.html在项目最外层而不是在public文件夹内。.../parser', sourceType: 'module', }, plugins: [ 'vue', '@typescript-eslint', ], rules...: { }, }; (demo运行效果) 至此,一个简单项目已经搭建完成,赶紧公众号回复「Vite」获取相关示例源码哦~上述工具也不是必须,但是接入成熟工具可以更有效提高我们开发效率和代码质量

56110

Nest项目部署最佳方式

这个答案不是我想要,在服务器上安装node_modules纯属胡闹。幸运是,经过一番研究后,我终于解决了这个问题,本文就跟大家分享下我实现思路与方案,欢迎各位感兴趣开发者阅读本文。...开发出来服务端应用包体积居然这么小,同样功能使用Java实现,打包出来jar包都50MB起步了!...定位问题 我怀着忐忑心情打开dist目录下文件后,发现它只是简单把ts编译成了js,并没有打包任何依赖包进去,他所有的依赖包都是从node_modules中引。...nest中一些无用依赖包 /* eslint-disable @typescript-eslint/no-var-requires */ const path = require("path"); const...return false; } }), new ForkTsCheckerWebpackPlugin() ] }; ❝⚠️注意:上述webpack配置文件要求

5.8K51
领券