【Vite+Vue3+TS】基于Vite+Vue3+TypeScript+ESLint+Prettier+Stylelint搭建项目(亲测超详细)

以下是一个基于Vite、Vue 3、TypeScript、ESLint、Prettier和Stylelint的项目的核心配置文件示例:

vite.config.ts:




import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
 
// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()],
  // 其他配置...
})

tsconfig.json:




{
  "compilerOptions": {
    "target": "esnext",
    "useDefineForClassFields": true,
    "module": "esnext",
    "moduleResolution": "node",
    "strict": true,
    "jsx": "preserve",
    "sourceMap": true,
    "resolveJsonModule": true,
    "isolatedModules": true,
    "esModuleInterop": true,
    "lib": ["esnext", "dom"],
    "skipLibCheck": true
  },
  "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"]
}

.eslintrc.js:




module.exports = {
  env: {
    browser: true,
    es2021: true,
  },
  extends: [
    'plugin:vue/vue3-essential',
    'eslint:recommended',
    'plugin:@typescript-eslint/recommended',
    'plugin:prettier/recommended',
  ],
  parserOptions: {
    ecmaVersion: 12,
    sourceType: 'module',
  },
  plugins: ['vue', '@typescript-eslint'],
  rules: {
    // 自定义规则...
  },
};

.stylelintrc.json:




{
  "extends": "stylelint-config-standard",
  "rules": {
    // 自定义样式规则...
  }
}

.prettierrc.json:




{
  "singleQuote": true,
  "trailingComma": "es5",
  "printWidth": 80,
  "tabWidth": 2,
  "semi": true,
  "useTabs": false,
  "endOfLine": "auto"
}

package.json 的一部分,包含依赖和脚本:




{
  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "lint": "eslint --ext .js,.vue src",
    "stylelint": "stylelint 'src/**/*.{vue,css}' --fix",
    "format": "prettier --write \"src/**/*.{js,vue,ts}\"",
    "serve": "vite preview"
  },
  "dependencies": {
    "vue": "^3.0.0",
    // 其他依赖...
  },
  "devDependencies": {
    "@vitejs/plugin-vue": "^1.0.0",
    "@typescript-eslint/parser": "^4.0.0",
    "eslint": "^7.0.0",
    "eslint-plugin-vue": "^7.0.0",
    "prettier": "^2.0.0",
    "stylelint": "^13.0.0",
    "stylelint-config-standard": "^20.0.0",
    "typescript": "^4.0.0",
    "vite": "^1.0.0"
  }
}

这个配置提供了一个基本框架,你可以根据自己的项目需求进行调整。例如,你可以添加更多的ESLint规则、TypeScript特定规则或者其他Linter配置。同时,你可以添加或修改vite.config.ts中的插件来满足项目的具体需求。

评论已关闭

推荐阅读

DDPG 模型解析,附Pytorch完整代码
2024年11月24日
DQN 模型解析,附Pytorch完整代码
2024年11月24日
AIGC实战——Transformer模型
2024年12月01日
Socket TCP 和 UDP 编程基础(Python)
2024年11月30日
python , tcp , udp
如何使用 ChatGPT 进行学术润色?你需要这些指令
2024年12月01日
AI
最新 Python 调用 OpenAi 详细教程实现问答、图像合成、图像理解、语音合成、语音识别(详细教程)
2024年11月24日
ChatGPT 和 DALL·E 2 配合生成故事绘本
2024年12月01日
omegaconf,一个超强的 Python 库!
2024年11月24日
【视觉AIGC识别】误差特征、人脸伪造检测、其他类型假图检测
2024年12月01日
[超级详细]如何在深度学习训练模型过程中使用 GPU 加速
2024年11月29日
Python 物理引擎pymunk最完整教程
2024年11月27日
MediaPipe 人体姿态与手指关键点检测教程
2024年11月27日
深入了解 Taipy:Python 打造 Web 应用的全面教程
2024年11月26日
基于Transformer的时间序列预测模型
2024年11月25日
Python在金融大数据分析中的AI应用(股价分析、量化交易)实战
2024年11月25日
AIGC Gradio系列学习教程之Components
2024年12月01日
Python3 `asyncio` — 异步 I/O,事件循环和并发工具
2024年11月30日
llama-factory SFT系列教程:大模型在自定义数据集 LoRA 训练与部署
2024年12月01日
Python 多线程和多进程用法
2024年11月24日
Python socket详解,全网最全教程
2024年11月27日