Vue + TypeScript Web应用实践
项目各类代码规范作用详见小白项目规范最佳实践一文
项目创建
使用@vue/cli
脚手架的vue-ui
创建项目。
创建过程中需要注意的点:
开启TypeScript,关闭
class-style component syntax
,开启该功能会引入vue-property-decorator
依赖,在vue-ts
项目中,通过使用@Component
等装饰器来简化书写。习惯于使用装饰器等语法可选择使用。使用
dart-sass
作为CSS与处理器不使用脚手架提供的自动配置
eslint
,后续手工添加配置开启
PWA Support
VSCode插件添加
Prettier、ESLint、stylelint、Vetur
Prettier配置
配置
.prettierrc
以规范代码风格,配置内容如下。配置完成后,vscode开启配置,通过Prettier
插件在保存文件时,自动完成代码格式化。
ESLint配置
Vue部分正常配置即可,重点关注TypeScript部分的配置
增加以下两个依赖
在
.eslintrc.js
中增加以下配置由于使用
@vue/cli
构建项目时,已开启TypeScript,直接使用脚手架创建的tsconfig.json
即可,但由于项目中同样存在js文件,所以需要增加js配置,来保证typescript-eslint
也能够对js文件生效。vscode安装
ESLint
插件后,在右下角开启ESLint检测,运行项目后,若有ESLint运行报错,根据报错内容解决即可。若为代码格式报错,保存后即可实现代码自动规范。保存自动规范需要通过配置vscode
设置文件setting.json
开启。之后ESLint
正常开启检测。
stylelint配置
配置
stylelint
实现样式代码的规范化。
安装依赖
stylelint
scss插件
样式规则排序
增加
stylelint
配置上述配置中,
order/order
中的顺序样例stylelint至此已经能够正确生效。
Lint-staged配置
通过
lint-staged
在代码commit前对代码规范进行检测,防止非规范代码递交。
安装
husky
husky
能够为git
增加git hook
,使我们可以在对应的钩子下增加我们需要的命令,lint-staged
的功能就是在pre-commit
这个钩子的阶段,增加对暂存区代码规范性的检测,防止不符合代码规范的代码进行递交。pre-commit
配置与验证,package.json
增加pre-commit
的git-hook
commit
本地更新后,pre-commit
成功触发安装
lint-staged
package.json
增加lint-staged
的配置用于检测ts与vue文件,并在pre-commit
中增加lint-staged
执行命令新增
lint-staged
配置文件对
lint-staged
功能进行验证。设置vscode,关闭on save时的代码自动格式化,编写一行不符合格式规范的代码,这里使用不带分号的代码进行验证。commit
代码触发pre-commit
中的lint-staged
命令,代码被prettier
与eslint
自动格式化,原无分号的代码已经自动增加分号
lint-staged tsc
在lint-staged中增加TypeScript的检测
最后更新于