最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue3項(xiàng)目中eslint+prettier統(tǒng)一代碼風(fēng)格方式

 更新時(shí)間:2025年05月31日 18:33:03   作者:weixin_45658815  
這篇文章主要介紹了vue3項(xiàng)目中eslint+prettier統(tǒng)一代碼風(fēng)格方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

準(zhǔn)備

VS Code 插件

  • Volar(推薦用于 Vue 3)
  • ESLint
  • Prettier - Code formatter

一、eslint

介紹

ESLint 是一個(gè) JavaScript 和 TypeScript 代碼的語(yǔ)法規(guī)則和代碼風(fēng)格檢查工具,可以幫助你:

  1. 發(fā)現(xiàn)潛在錯(cuò)誤(如變量未定義、函數(shù)重復(fù)定義等)
  2. 統(tǒng)一代碼風(fēng)格(比如強(qiáng)制使用單引號(hào)、縮進(jìn)為 2 個(gè)空格等)
  3. 提高代碼質(zhì)量(比如提示不要使用 ==,而應(yīng)該用 ===)

ESLint 會(huì)根據(jù)你配置的規(guī)則(eslint.config.js.eslintrc 文件)掃描代碼,然后告訴你哪里不符合這些規(guī)則。

例如:

const a = "hello"
console.log(a)

如果 ESLint 配置了以下規(guī)則:

{
  "rules": {
    "semi": ["error", "always"],  // 強(qiáng)制加分號(hào)
    "quotes": ["error", "single"] // 強(qiáng)制使用單引號(hào)
  }
}

它會(huì)提示你:

  • 應(yīng)該用單引號(hào):“hello” → ‘hello’
  • 每行結(jié)尾要加分號(hào)

為什么要用 ESLint?

  • 團(tuán)隊(duì)開(kāi)發(fā)中可以統(tǒng)一代碼風(fēng)格
  • 早發(fā)現(xiàn)低級(jí)錯(cuò)誤,避免運(yùn)行時(shí)報(bào)錯(cuò)
  • 配合 IDE(如 VSCode)或 Git hook(如 Husky)可以實(shí)時(shí)檢查

使用

1.修改包配置文件packge.json依賴如下

{
    "name": "kaishu-ui-admin-vue3-master", // 項(xiàng)目名稱,自行修改
    "private": true,
    "version": "0.0.0",
    "scripts": {
        "dev": "vite",
        "build": "vue-tsc -b && vite build",
        "preview": "vite preview"
    },
    "dependencies": {
        "vue": "3.5.12"
    },
    "devDependencies": {
        "@vitejs/plugin-vue": "^5.0.4",
        "typescript": "5.3.3",
        "vite": "4.5.11",
        "vue-tsc": "^1.8.27",

        "@typescript-eslint/eslint-plugin": "^7.1.0",
        "@typescript-eslint/parser": "^7.1.0",
        "@unocss/eslint-config": "^0.57.4",
        "@unocss/eslint-plugin": "66.1.0-beta.5",

        "eslint": "^8.57.0",
        "eslint-config-prettier": "^9.1.0",
        "eslint-define-config": "^2.1.0",
        "eslint-plugin-prettier": "^5.1.3",
        "eslint-plugin-vue": "^9.22.0"
    }
}

2.下載依賴,pnpm i

3.新建eslint配置文件,.eslintrc.js.eslintignore,內(nèi)容如下

.eslintrc.js文件

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

module.exports = defineConfig({
    // 根配置,ESLint 將停止在父目錄中查找配置文件
    root: true,

    // 設(shè)置腳本的運(yùn)行環(huán)境
    env: {
        browser: true, // 瀏覽器全局變量
        node: true, // Node.js 全局變量和作用域
        es6: true // 啟用 ES6 語(yǔ)法支持
    },

    // 使用 Vue 的 ESLint 解析器
    parser: 'vue-eslint-parser',

    // 解析器選項(xiàng)
    parserOptions: {
        parser: '@typescript-eslint/parser', // 解析 TypeScript
        ecmaVersion: 2020, // 使用 ES2020 語(yǔ)法
        sourceType: 'module', // 使用 ECMAScript 模塊
        ecmaFeatures: {
            jsx: true // 允許 JSX
        }
    },

    // 繼承的規(guī)則集
    extends: [
        'plugin:vue/vue3-recommended', // Vue 3 推薦規(guī)則
        'plugin:@typescript-eslint/recommended', // TypeScript 推薦規(guī)則
        'plugin:prettier/recommended' // Prettier 推薦規(guī)則(解決與 ESLint 的沖突)
    ],

    // 自定義規(guī)則
    rules: {
        "semi": ["error", "never"], // 禁止使用分號(hào)
        'prettier/prettier': 'warn', // 關(guān)閉 prettier 的 ESLint 校驗(yàn)
    }
})

.eslintignore文件

/build/
/config/
/dist/
/*.js
/test/unit/coverage/
/node_modules/*
/dist*
/src/main.ts

4.packge.json中新增運(yùn)行指令

"scripts": {
       ...
       "lint": "eslint --ext .js,.ts,.vue ./src" //eslint檢查錯(cuò)誤指令
},

5.測(cè)試,在App.vue文件中某代碼行后面加上;,運(yùn)行命令pnpm run lint,可以看到控制臺(tái)報(bào)錯(cuò)表明App.vue文件中有額外的分號(hào),如下

D:\kaishu\kaishu-project\kaishu-ui-admin-vue3-master\src\App.vue
  2:53  error  Extra semicolon  semi

二、prettier

介紹

Prettier 是一個(gè)代碼格式化工具,用于自動(dòng)統(tǒng)一和美化代碼風(fēng)格,支持多種編程語(yǔ)言(如 JavaScript、TypeScript、HTML、CSS、JSON、Markdown 等)。它的核心目標(biāo)是通過(guò)自動(dòng)格式化代碼來(lái)減少開(kāi)發(fā)人員在代碼風(fēng)格上的爭(zhēng)論,讓大家專注于代碼本身的邏輯和功能。

Prettier 的主要特點(diǎn)

  • 一致的代碼風(fēng)格:不依賴團(tuán)隊(duì)成員的個(gè)人格式化習(xí)慣,所有代碼格式統(tǒng)一。
  • 開(kāi)箱即用:配置簡(jiǎn)單,也可以使用默認(rèn)配置快速上手。
  • 自動(dòng)格式化:保存文件時(shí)自動(dòng)格式化,無(wú)需手動(dòng)對(duì)齊、縮進(jìn)。
  • 多語(yǔ)言支持:支持 JS/TS、HTML、CSS、JSON、Markdown、YAML 等。
  • 集成方便:可以與 VS Code、WebStorm、Git Hooks、CI 工具集成。

使用

1.packge.json新增依賴

"devDependencies": {
	...
	"prettier": "^3.2.5",
	"prettier-eslint": "^16.3.0"
}

2.下載依賴,pnpm i

3.在./vscode文件下新建setting.json文件,該文件會(huì)覆蓋vscode自帶setting.json文件,文件內(nèi)容配置如下。這樣的話檢驗(yàn)只開(kāi)一個(gè)vscode窗口,不然會(huì)沖突

{
  "workbench.colorTheme": "Quiet Light", // 風(fēng)格
  "window.zoomLevel": 1, // 整個(gè)窗口顯示縮放級(jí)別
  "git.autofetch": true, // 自動(dòng)拉取
  "editor.fontSize": 18, // 編輯器內(nèi)字體大小
  "editor.formatOnSave": true, // 保存時(shí)格式化
  "editor.defaultFormatter": "esbenp.prettier-vscode", // 設(shè)置默認(rèn)格式化器為 Prettier
}

ps:eslint 中的prettier/prettier屬性需開(kāi)放,不能為off,改為warn/error

4.測(cè)試,修改文件中代碼縮進(jìn),自動(dòng)保存,代碼格式會(huì)自動(dòng)調(diào)整。

總結(jié)

方面ESLintPrettier
主要目的代碼質(zhì)量和規(guī)范檢查(代碼風(fēng)格、潛在錯(cuò)誤)代碼格式化(自動(dòng)統(tǒng)一代碼排版)
功能- 發(fā)現(xiàn)潛在錯(cuò)誤(如未定義變量、死代碼)- 自動(dòng)調(diào)整縮進(jìn)、換行、空格、分號(hào)等格式
- 規(guī)范代碼風(fēng)格(如變量命名、語(yǔ)句順序)- 幾乎不關(guān)注代碼邏輯,只關(guān)注“外觀”
規(guī)則靈活性規(guī)則豐富,且可自定義規(guī)則固定,配置項(xiàng)很少,注重統(tǒng)一
處理方式代碼檢查工具,發(fā)現(xiàn)問(wèn)題并提示(可自動(dòng)修復(fù)部分)代碼格式化工具,直接修改代碼樣式
應(yīng)用范圍代碼風(fēng)格、最佳實(shí)踐、潛在錯(cuò)誤、復(fù)雜規(guī)則代碼縮進(jìn)、換行、括號(hào)位置、引號(hào)類型等格式

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue3.0 vue.config.js 配置基礎(chǔ)的路徑問(wèn)題

    vue3.0 vue.config.js 配置基礎(chǔ)的路徑問(wèn)題

    這篇文章主要介紹了vue3.0 vue.config.js 配置基礎(chǔ)的路徑問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • 前端Vue.js實(shí)現(xiàn)json數(shù)據(jù)導(dǎo)出到doc

    前端Vue.js實(shí)現(xiàn)json數(shù)據(jù)導(dǎo)出到doc

    這篇文章主要介紹了前端Vue.js實(shí)現(xiàn)json數(shù)據(jù)導(dǎo)出到doc,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • 前端vue3樹(shù)形組件使用代碼示例

    前端vue3樹(shù)形組件使用代碼示例

    最近在開(kāi)發(fā)時(shí)遇到一個(gè)問(wèn)題,是在輸入框里面放一個(gè)樹(shù)形組件,這篇文章主要給大家介紹了關(guān)于前端vue3樹(shù)形組件使用的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-07-07
  • vue 中使用 vxe-table 制作可編輯表格的使用過(guò)程

    vue 中使用 vxe-table 制作可編輯表格的使用過(guò)程

    這篇文章主要介紹了vue 中使用 vxe-table 制作可編輯表格的使用過(guò)程,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • Vue的緩存方法示例詳解

    Vue的緩存方法示例詳解

    這篇文章主要給大家介紹了關(guān)于Vue緩存方法的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 讓Vue也可以使用Redux的方法

    讓Vue也可以使用Redux的方法

    這篇文章主要介紹了讓Vue也可以使用Redux的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • 使用vue實(shí)現(xiàn)點(diǎn)擊按鈕滑出面板的實(shí)現(xiàn)代碼

    使用vue實(shí)現(xiàn)點(diǎn)擊按鈕滑出面板的實(shí)現(xiàn)代碼

    這篇文章主要介紹了使用vue實(shí)現(xiàn)點(diǎn)擊按鈕滑出面板的實(shí)現(xiàn)代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下
    2017-01-01
  • uniapp前端支付篇之微信、抖音、快手、h5四個(gè)平臺(tái)支付功能

    uniapp前端支付篇之微信、抖音、快手、h5四個(gè)平臺(tái)支付功能

    支付功能在我們?nèi)粘i_(kāi)發(fā)中經(jīng)常會(huì)遇到,下面這篇文章主要給大家介紹了關(guān)于uniapp前端支付篇之微信、抖音、快手、h5四個(gè)平臺(tái)支付功能的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • vue3前端導(dǎo)出excel表格的兩種實(shí)現(xiàn)方法

    vue3前端導(dǎo)出excel表格的兩種實(shí)現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于vue3前端導(dǎo)出excel表格的兩種實(shí)現(xiàn)方法,文中通過(guò)代碼以及圖文介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用vue3具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-11-11
  • Vue3+Vite項(xiàng)目按需自動(dòng)導(dǎo)入配置以及一些常見(jiàn)問(wèn)題修復(fù)

    Vue3+Vite項(xiàng)目按需自動(dòng)導(dǎo)入配置以及一些常見(jiàn)問(wèn)題修復(fù)

    Vite是一種新型前端構(gòu)建工具,能夠顯著提升前端開(kāi)發(fā)體驗(yàn),下面這篇文章主要給大家介紹了關(guān)于Vue3+Vite項(xiàng)目按需自動(dòng)導(dǎo)入配置以及一些常見(jiàn)問(wèn)題修復(fù)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02

最新評(píng)論

赤峰市| 南靖县| 偃师市| 云龙县| 苏州市| 左权县| 旅游| 台南市| 岳普湖县| 廊坊市| 翼城县| 彰化市| 泸州市| 宁津县| 抚顺市| 永寿县| 神农架林区| 利辛县| 扎赉特旗| 哈巴河县| 苍梧县| 广州市| 大石桥市| 红河县| 长宁区| 共和县| 繁昌县| 永胜县| 丰县| 慈利县| 宁强县| 蓝田县| 南丰县| 历史| 闽清县| 遂溪县| 屏山县| 巴楚县| 桦南县| 濮阳县| 郴州市|