vite-pretty-lint 源码解读之为 vite 项目添加 eslint和prettier

本文介绍了如何为 vite 项目集成 eslint 和 prettier,详细讲述了创建 vite 项目、配置 eslint 和 prettier 的步骤,并对 vite-pretty-lint 的源码进行了简单解读,强调了这些工具对项目规范的重要性。
摘要由CSDN通过智能技术生成

前言

vite 作为一种前端工具,创建项目是非常快的,但是今天我们要聊的并不是 vite 创建项目有多快有多好,而是来聊聊如何为 vite 项目添加 eslintprettier,这对一个项目规范而言是非常重要的。

创建项目

首先我们来 npm init vite 创建一个 vite 项目,如下所示,我创建了一个名为vite-demo 的项目。

然后在这个 vite 项目的基础上,再执行 npm init vite-pretty-lint 或者 yarn create vite-pretty-lint。这个就是今天的主角了,vite-pretty-lint 工具。

我们根据提示填写相关信息即可。我这里使用的是 react 创建项目。

安装完成之后,可以发现目录下多了几个文件,分别是 .eslintrc.json 以及 .prettierrc.json。这就是通过以上命令生成的 eslintprettier 相关配置文件。

添加 eslint

.eslintrc.json 配置如下:

{"env": {"browser": true,"es2021": true,"node": true},"overrides": [{"files": ["*.js","*.jsx"],"parserOptions": {"ecmaFeatures": {"jsx": true},"ecmaVersion": "latest","sourceType": "module"},"extends": ["eslint:recommended","plugin:react/recommended","plugin:prettier/recommended"],"rules": {"react/react-in-jsx-scope": "off"}}]
} 

添加 prettier

.prettierrc.json 配置如下:

{"trailingComma": "es5","tabWidth": 2,"semi": true,"singleQuote": true
} 

完成以上配置后在就可以在 vite 项目下就可以使用 eslint+prettier 进行格式化校验了。由于每个人创建项目的方式不同,因此配置文件里也会有所差距,这是正常的。

源码解读

打开关于 vite-pretty-lintgithub 仓库并根据 package.json 找到源码入口。关键实现部分在 lib 目录下。

lib/main.js 包含了主要的实现代码,下面是 main.js 引入的一些东西

我们可以关注一下在 main.js 文件里引入的如下三个东西:

  • chalk 在终端输出内容加上样式
  • gradient 在终端输出漂亮的颜色渐变
  • nanospinner 最简单最小的终端旋转器

这三个东西代表 彩色渐变的输出 以及 加载进度提示

由于代码部分较多,这里就不粘贴全部源码了,在源码中关键的实现部分是24行~96行,即从 async 函数开始。

这里讲一讲如下这段代码:

let projectType, packageManager;
try { const answers = await askForProjectType();  projectType = answers.projectType;  packageManager = answers.packageManager; } catch (error) {console.log(chalk.blue('\n👋 Goodbye!')); return; } 

这段代码就是前面我们提到的根据提示填写信息那一部分,通过 askForProjectType 获取项目类型 projectType 和包管理工具 packageManager

总结

如何为 vite 项目自动添加 eslintprettier,我们可以直接使用命令 npm init create-vite-pretty-lint,然后它会自动给你添加基本的配置文件。

我们可以去 github 根据 package.json 找到源码入口,找到源码入口就可以分析代码了。vite-pretty-lint 的源码逻辑简洁,阅读起来不是很难。通过分析源码可以项目添加 eslintprettier 提供了更多思路。对于大多数开发人员和团队来说,做这些是为了提高生产力。

最后

整理了75个JS高频面试题,并给出了答案和解析,基本上可以保证你能应付面试官关于JS的提问。



有需要的小伙伴,可以点击下方卡片领取,无偿分享

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值