初始化一个 Vue3 项目
初始化一个 Vue3 项目
使用 vite 创建项目
pnpm create vite vue3-ts-demo

配置@符号指向 src 目录
1. 修改 tsconfig.app.json
在 compilerOptions 中添加以下配置:
{
"compilerOptions": {
// ... 其他配置
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"]
}
}
}
2. 修改 vite.config.ts
添加路径别名配置:
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path'
export default defineConfig({
plugins: [vue()],
resolve: {
alias: {
'@': path.resolve(__dirname, './src')
}
}
})
3. 注意事项
为了解决 vite.config.ts 中的类型错误,需要安装 @types/node:
pnpm install -D @types/node
这个包提供了 Node.js 的类型定义,包括 path 和 __dirname 等。
Prettier 配置完整教程
概述
Prettier 是一个代码格式化工具,能够自动统一代码风格。本教程将指导你如何在 Vue3 + TypeScript 项目中完整配置 Prettier,包括与 Git hooks 的集成。
安装和配置步骤
1. 安装 Prettier
pnpm add --save-dev --save-exact prettier
说明:
--save-dev:将 Prettier 安装为开发依赖--save-exact:锁定版本号,确保团队成员使用相同的 Prettier 版本
2. 创建 Prettier 配置文件
node --eval "fs.writeFileSync('.prettierrc', JSON.stringify({trailingComma: 'es5', tabWidth: 4, semi: false, singleQuote: true}, null, 2))"
配置说明:
trailingComma: "es5":在 ES5 兼容的地方添加尾随逗号tabWidth: 4:缩进使用 4 个空格semi: false:不在语句末尾添加分号singleQuote: true:使用单引号而不是双引号
3. 创建 Prettier 忽略文件
node --eval "fs.writeFileSync('.prettierignore','# Ignore artifacts:\nbuild\ncoverage\n')"
说明:
- 忽略
build和coverage目录 - 这些目录通常包含构建产物和测试覆盖率报告,不需要格式化
4. 格式化现有代码
npx prettier . --write
说明:
- 格式化项目中的所有文件
--write参数会直接修改文件
5. 检查代码格式
npx prettier . --check
说明:
- 检查代码是否符合 Prettier 规范
- 不会修改文件,只报告格式问题
- 常用于 CI/CD 流程中
6. 配置 Git Hooks
pnpm add --save-dev husky lint-staged
pnpm exec husky init
node --eval "fs.writeFileSync('.husky/pre-commit','npx pnpm exec lint-staged\n')"
说明:
husky:用于管理 Git hookslint-staged:只对暂存区的文件执行格式化- 在每次提交前自动格式化代码
7. 配置 lint-staged
在 package.json 中添加以下配置:
{
"lint-staged": {
"**/*": "prettier --write --ignore-unknown"
}
}
配置说明:
**/*:匹配所有文件--ignore-unknown:忽略不支持的文件类型
完整的配置文件示例
.prettierrc
{
"trailingComma": "es5",
"tabWidth": 4,
"semi": false,
"singleQuote": true
}
.prettierignore
# Ignore artifacts:
build
coverage
package.json 相关部分
{
"devDependencies": {
"prettier": "^3.0.0",
"husky": "^8.0.0",
"lint-staged": "^13.0.0"
},
"lint-staged": {
"**/*": "prettier --write --ignore-unknown"
}
}
常用 Prettier 配置选项
基础配置
printWidth: 80:每行最大长度tabWidth: 4:缩进空格数useTabs: false:使用空格而不是制表符semi: true:在语句末尾添加分号singleQuote: false:使用双引号quoteProps: "as-needed":对象属性引号的使用规则jsxSingleQuote: false:JSX 中使用双引号trailingComma: "es5":尾随逗号规则bracketSpacing: true:对象字面量中的括号间距bracketSameLine: false:JSX 标签的>是否与最后一个属性在同一行arrowParens: "always":箭头函数参数的括号规则
Vue 特定配置
vueIndentScriptAndStyle: false:是否缩进 Vue 文件中的 script 和 style 标签
工作流程
- 开发时:正常编写代码,无需手动格式化
- 提交前:Git hook 自动格式化暂存区的文件
- CI/CD:使用
prettier --check确保代码格式正确
团队协作建议
- 统一配置:团队成员使用相同的
.prettierrc配置 - 版本锁定:使用
--save-exact锁定 Prettier 版本 - 编辑器集成:在编辑器中启用 Prettier 插件
- CI 检查:在持续集成中添加格式检查
故障排除
常见问题
-
格式化不生效
- 检查
.prettierrc文件是否存在 - 确认文件没有被
.prettierignore忽略
- 检查
-
Git hook 不工作
- 确认
husky已正确安装 - 检查
.husky/pre-commit文件权限
- 确认
-
与 ESLint 冲突
- 安装
eslint-config-prettier禁用冲突的规则 - 确保 Prettier 在 ESLint 之后运行
- 安装
总结
通过以上配置,你的 Vue3 + TypeScript 项目将拥有:
- 自动化的代码格式化
- 统一的代码风格
- Git 提交前的自动格式化
- 团队协作的代码一致性
这套配置能够显著提升开发效率和代码质量,是现代前端项目的标准配置。
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
LibSept24_!
喜欢就支持一下吧
打赏
微信
支付宝
微信
支付宝