Vue3,Vite,TypeScript,Monorepo,qiankun...... Buff叠满,BUG没有

背景

之前不是说了吗,公司准备升到 Vue3。后面又因为一些需求把项目结构改成了 qiankun 和 Monorepo,所以这篇文章就是一个建设模板的讲解。

老话说的好,~打 BOSS 前要把 Buff 加满~,不是,是工欲善其事,必先利其器。在其它小伙伴过来写代码之前需要把重复工作的模板搭好,开发效率才能更高。

所以我们的目标就是,ESLintPrettierTypeScript之类的工具配置好,可以用命令行启动整个项目,可以用命令行新建微应用。可以让其他人零配置直接上手写代码。

开始

本项目默认包管理器使用 pnpm,IDE 使用 VSCode

pnpm create vite 

image.png

TypeScript

看下依赖,只有 vue-tsc 不熟,查下文档。(注意下图红框)

image.png

看起来是一个检查 Vue SFC 文件 TS 类型的命令行工具,比如在打包或者在 merge 代码前检查 TS 类型是否正确,而在 dev 环境下使用 Volar 插件来验证。

这样看来,需要推荐安装 Volar 插件。

在根目录新建 .vscode 目录,添加

{
  "recommendations": ["johnsoncodehk.volar", "johnsoncodehk.vscode-typescript-vue-plugin"]
} 

这样其他用 VSCode 打开这个项目的人就会弹出推荐安装该插件。

插件的名字可以在详情查看

image.png

这样开发时就有 TS 类型约束了。

image.png

而且安装这两个插件之后,也不需要原来的 *.vue 的类型声明了。

ESLint

pnpm install eslint eslint-plugin-vue @typescript-eslint/eslint-plugin @typescript-eslint/parser -D 

需要注意的 @typescript-eslint/parser@typescript-eslint/eslint-plugin 版本号必需一致

添加 .eslintrc.js.eslintignore 文件

pnpm install eslint-define-config -D 

.eslintrc.js

// @ts-check
const { defineConfig } = require('eslint-define-config');

module.exports = defineConfig({
  root: true,
  rules: {
    // rules...
  },
}); 

这样 eslintrc 也有类型约束了

image.png

同样,VSCode 的 ESLint 插件也添加到推荐 JSON 里。下面不在提示了。

Prettier

VolarESLint 都有格式化功能,那为什么还要选择 Prettier 呢?

代码风格最不好管理的地方在哪里? 就是所有人都有自己的习惯,无法讨论出一个让所有人都满意的方案

Prettier 的方案是 opinionated,就是给出最小的配置,要不你就用我的风格,要不你就别用。不容许随便改。(所以也不用吵了。。。)

image.png

注意代码风格语法检查的区别,代码风格是要不要加空格,分号,逗号等等。语法检查是是否声明变量,声明未使用等等。

pnpm install -D eslint-config-prettier eslint-plugin-prettier prettier 
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值