Vite+TS+Vue開啟eslint和prettier規(guī)范及校驗方式
前言
- 開發(fā)規(guī)范可以很好避免奇奇怪怪的問題
- 避免多人開發(fā)習慣不同的情況
- 避免提交代碼出現(xiàn)的各種合并問題
- 幫助快速找到指定位置的bug
安裝依賴
需要先安裝以下依賴
vite-plugin-eslint @vue/eslint-config-prettier @vue/eslint-config-typescript @vue/cli-plugin-eslint eslint eslint-config-prettier eslint-plugin-prettier eslint-plugin-vue prettier vite-plugin-eslint
配置使用
vite.config.ts
文件引入插件使其在構(gòu)建和編譯時生效
... import eslintPlugin from 'vite-plugin-eslint' import { defineConfig } from 'vite' export default defineConfig(({ command, mode }) => { return { ... plugins: [ eslintPlugin({ include: ['src/**/*.ts', 'src/**/*.js', 'src/**/*.vue', 'src/*.ts', 'src/*.js', 'src/*.vue'] }), ] ... } })
并在package.json
文件配置,也可根據(jù)個人實際習慣優(yōu)化配置
{ "eslintConfig": { "extends": [ "plugin:vue/essential", "eslint:recommended", "plugin:@typescript-eslint/recommended", "prettier" ], "plugins": [ "@typescript-eslint", "prettier" ], "parserOptions": { "parser": "@typescript-eslint/parser" }, "rules": { "no-console": "off", "no-debugger": "off", "prettier/prettier": "error" } }, "prettier": { "singleQuote": true, "semi": true, "trailingComma": "all", "printWidth": 80, "tabWidth": 2 } }
也可配置 .eslintrc.cjs
文件來達到規(guī)范校驗
.eslintrc.cjs
文件配置開發(fā)規(guī)范(配置同上package.json
的eslintConfig
內(nèi)容)
// /* eslint-env node */ // require('@rushstack/eslint-patch/modern-module-resolution') // module.exports = { // root: true, // 'extends': [ // 'plugin:vue/vue3-essential', // 'eslint:recommended', // '@vue/eslint-config-typescript', // '@vue/eslint-config-prettier' // ], // parserOptions: { // ecmaVersion: 'latest', // parser: '@typescript-eslint/parser', // }, // } // javascript 代碼風格檢查工具 eslint 配置文件。它定義了項目的語法環(huán)境、擴展和規(guī)則等信息,以便在編碼過程中進行語法檢查和風格統(tǒng)一 module.exports = { root: true,//root: true 表示這是 eslint 的根配置文件。 env: { //env: { node: true } 聲明該代碼運行于 node.js 環(huán)境。 node: false }, extends: [ //extends 屬性包含了一些預定義的規(guī)則集合,用于保證代碼的質(zhì)量和風格一致性。 'plugin:vue/vue3-essential',// 使 eslint 支持 vue 3 模板。 'eslint:recommended', //啟用 eslint 推薦的規(guī)則。 '@vue/typescript/recommended',//添加 typescript 相關(guān)的推薦規(guī)則集。 '@vue/prettier', //是為了與 prettier 集成,保證代碼格式的一致性。 // '@vue/prettier/@typescript-eslint' //是為了與 prettier 集成,保證代碼格式的一致性。 ], parserOptions: { //屬性聲明了使用的 ecmascript 版本。 ecmaVersion: 2020 }, rules: { //屬性定義了一些自定義的規(guī)則,如不允許在生產(chǎn)環(huán)境下使用 console 和 debugger 語句。 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off', 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off', 'prettier/prettier': [ 'warn', { singleQuote: true, // 使用單引號 semi: false, // 在語句的末尾打印分號 trailingComma: 'all', // 多行對象和數(shù)組的最后一個元素后面是否添加逗號(都添加) printWidth: 80, // 超過 80 個字符時換行 tabWidth: 2, // 使用 2 個空格縮進 } ] }, overrides: [ //屬性定義了針對某些特定文件或目錄的覆蓋規(guī)則,如指定 mocha 測試相關(guān)的語法環(huán)境。 { files: ['**/__tests__/*.{j,t}s?(x)', '**/tests/unit/**/*.spec.{j,t}s?(x)'], env: { mocha: true } } ] }
.prettierrc.js
文件配置開發(fā)格式(配置同上package.json
的prettier
內(nèi)容,.eslintrc.cjs
文件rules
的’prettier/prettier’)
module.exports = { singleQuote: true, // 使用單引號 semi: true, // 在語句的末尾打印分號 trailingComma: 'all', // 多行對象和數(shù)組的最后一個元素后面是否添加逗號(都添加) printWidth: 80, // 超過 80 個字符時換行 tabWidth: 2, // 使用 2 個空格縮進 };
配置了 .eslintrc.cjs
文件后可以看到更多的規(guī)范需要處理,
Vue編譯處理: warning Delete
? prettier/prettier
提示
git 自動把換行符LF(linefeed character)
轉(zhuǎn)換成回車符CRLF(carriage-return character)
點擊下圖右下角的CRLF
修改為LF
即可
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue本地構(gòu)建熱更新卡頓的問題“75?advanced?module?optimization”完美解決方案
這篇文章主要介紹了vue本地構(gòu)建熱更新卡頓的問題“75?advanced?module?optimization”解決方案,每次熱更新都會卡在?"75?advanced?module?optimization"?的地方不動了,如何解決這個問題呢,下面小編給大家?guī)砹私鉀Q方案,需要的朋友可以參考下2022-08-08vue-video-player?播放m3u8視頻流的實現(xiàn)
本文主要介紹了vue-video-player?播放m3u8視頻流的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-04-04