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

Vite+TS+Vue開啟eslint和prettier規(guī)范及校驗(yàn)方式

 更新時(shí)間:2023年06月29日 16:50:39   作者:失眠時(shí)間  
這篇文章主要介紹了Vite+TS+Vue開啟eslint和prettier規(guī)范及校驗(yàn)方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

前言

  • 開發(fā)規(guī)范可以很好避免奇奇怪怪的問題
  • 避免多人開發(fā)習(xí)慣不同的情況
  • 避免提交代碼出現(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)建和編譯時(shí)生效

...
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ù)個(gè)人實(shí)際習(xí)慣優(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 文件來達(dá)到規(guī)范校驗(yàn)

.eslintrc.cjs文件配置開發(fā)規(guī)范(配置同上package.jsoneslintConfig內(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 代碼風(fēng)格檢查工具 eslint 配置文件。它定義了項(xiàng)目的語法環(huán)境、擴(kuò)展和規(guī)則等信息,以便在編碼過程中進(jìn)行語法檢查和風(fēng)格統(tǒng)一
module.exports = {
  root: true,//root: true 表示這是 eslint 的根配置文件。
  env: { //env: { node: true } 聲明該代碼運(yùn)行于 node.js 環(huán)境。
    node: false
  },
  extends: [ //extends 屬性包含了一些預(yù)定義的規(guī)則集合,用于保證代碼的質(zhì)量和風(fēng)格一致性。
    '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ù)組的最后一個(gè)元素后面是否添加逗號(都添加)
        printWidth: 80, // 超過 80 個(gè)字符時(shí)換行
        tabWidth: 2, // 使用 2 個(gè)空格縮進(jìn)
      }
    ]
  },
  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.jsonprettier內(nèi)容,.eslintrc.cjs文件rules的’prettier/prettier’)

module.exports = {
    singleQuote: true, // 使用單引號
    semi: true, // 在語句的末尾打印分號
    trailingComma: 'all', // 多行對象和數(shù)組的最后一個(gè)元素后面是否添加逗號(都添加)
    printWidth: 80, // 超過 80 個(gè)字符時(shí)換行
    tabWidth: 2, // 使用 2 個(gè)空格縮進(jìn)
  };

配置了 .eslintrc.cjs 文件后可以看到更多的規(guī)范需要處理,

Vue編譯處理: warning Delete ? prettier/prettier 提示

git 自動(dòng)把換行符LF(linefeed character) 轉(zhuǎn)換成回車符CRLF(carriage-return character)

點(diǎn)擊下圖右下角的CRLF修改為LF即可

總結(jié)

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

相關(guān)文章

  • 實(shí)現(xiàn)vuex原理的示例

    實(shí)現(xiàn)vuex原理的示例

    這篇文章主要介紹了實(shí)現(xiàn)vuex原理的示例,幫助大家更好的理解和學(xué)習(xí)vue,感興趣的朋友可以了解下
    2020-10-10
  • vuex學(xué)習(xí)進(jìn)階篇之getters的使用教程

    vuex學(xué)習(xí)進(jìn)階篇之getters的使用教程

    getters用于獲取state里的數(shù)據(jù),它類似于計(jì)算屬性,如果要獲取的數(shù)據(jù)并沒有發(fā)生變化的話,就會(huì)返回緩存的數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于vuex學(xué)習(xí)進(jìn)階篇之getters的使用教程,需要的朋友可以參考下
    2022-10-10
  • 詳解vuex之store源碼簡單解析

    詳解vuex之store源碼簡單解析

    這篇文章主要介紹了詳解vuex之store源碼簡單解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • vue3自定義組件之v-model實(shí)現(xiàn)父子組件雙向綁定

    vue3自定義組件之v-model實(shí)現(xiàn)父子組件雙向綁定

    這篇文章主要介紹了vue3自定義組件之v-model實(shí)現(xiàn)父子組件雙向綁定方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Vue的MVVM實(shí)現(xiàn)方法

    Vue的MVVM實(shí)現(xiàn)方法

    本篇文章主要主要介紹了Vue的MVVM實(shí)現(xiàn)方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • Vue.js通過組件處理Icon圖標(biāo)

    Vue.js通過組件處理Icon圖標(biāo)

    這篇文章介紹了Vue.js通過組件處理Icon圖標(biāo)的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-11-11
  • Vue2 監(jiān)聽屬性改變watch的實(shí)例代碼

    Vue2 監(jiān)聽屬性改變watch的實(shí)例代碼

    今天小編就為大家分享一篇Vue2 監(jiān)聽屬性改變watch的實(shí)例代碼,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • vue使用vue-json-viewer展示JSON數(shù)據(jù)的詳細(xì)步驟

    vue使用vue-json-viewer展示JSON數(shù)據(jù)的詳細(xì)步驟

    最近在開發(fā)一個(gè)公司的投放管理系統(tǒng)的操作日志模塊,要查看某條操作日志的請求參數(shù),要將請求的參數(shù)以JSON格式的形式展示出來,下面這篇文章主要給大家介紹了vue使用vue-json-viewer展示JSON數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • 在?Vue?中使用?dhtmlxGantt?組件時(shí)遇到的問題匯總(推薦)

    在?Vue?中使用?dhtmlxGantt?組件時(shí)遇到的問題匯總(推薦)

    dhtmlxGantt一個(gè)功能豐富的甘特圖插件,支持任務(wù)編輯,資源分配和多種視圖模式,這篇文章主要介紹了在?Vue?中使用?dhtmlxGantt?組件時(shí)遇到的問題匯總,需要的朋友可以參考下
    2023-03-03
  • vue動(dòng)態(tài)綁定input,動(dòng)態(tài)添加input實(shí)現(xiàn)方式

    vue動(dòng)態(tài)綁定input,動(dòng)態(tài)添加input實(shí)現(xiàn)方式

    這篇文章主要介紹了vue動(dòng)態(tài)綁定input,動(dòng)態(tài)添加input實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2026-03-03

最新評論

浦东新区| 大方县| 邢台县| 丰都县| 南昌市| 共和县| 大渡口区| 蕉岭县| 五寨县| 盐源县| 宁乡县| 叶城县| 聊城市| 蓬安县| 牡丹江市| 徐水县| 类乌齐县| 琼中| 揭阳市| 万全县| 林甸县| 尚义县| 崇义县| 眉山市| 固始县| 江孜县| 尼勒克县| 新兴县| 泗洪县| 南和县| 昆明市| 连南| 涞源县| 驻马店市| 腾冲县| 聊城市| 灵丘县| 上林县| 苍南县| 阳高县| 莱州市|