国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

代碼約束(ESlint\prettier\husky\lint-staged\commitlint)

這篇具有很好參考價(jià)值的文章主要介紹了代碼約束(ESlint\prettier\husky\lint-staged\commitlint)。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言

JavaScript 是一個(gè)動態(tài)的弱類型語言,在開發(fā)中比較容易出錯(cuò)。因?yàn)闆]有編譯程序,為了尋找 JavaScrip 代碼錯(cuò)誤通常需要在執(zhí)行過程中不斷調(diào)試。像 ESLint 可以讓程序員在編碼的過程中發(fā)現(xiàn)問題而不是在執(zhí)行過程中,幫助我們提高開發(fā)效率。

為什么要做代碼約束?

  • 提高代碼整體的可讀性、可維護(hù)性、可復(fù)用性

  • 保證代碼風(fēng)格的一致性\多人協(xié)作時(shí)代碼代碼語法、規(guī)范、風(fēng)格強(qiáng)制統(tǒng)一

  • 完善代碼規(guī)范

  • 提升團(tuán)隊(duì)整體開發(fā)效率

基礎(chǔ)概念

  1. eslint是什么: 檢查代碼質(zhì)量風(fēng)格的工具,主要功能總結(jié)為兩點(diǎn):①代碼質(zhì)量檢查可以發(fā)現(xiàn)代碼中存在的可能錯(cuò)誤,如使用未聲明變量、聲明而未使用的變量、修改 const 變量、代碼中使用debugger等等;②代碼格式化可以用來統(tǒng)一團(tuán)隊(duì)的代碼風(fēng)格,比如加不加分號、使用 tab 還是空格、字符串使用單引號 等等

  2. prettier是什么:代碼格式化工具,能夠使輸出代碼保持風(fēng)格一致

  3. stylelint是什么: 樣式規(guī)范工具

  4. EditorConfig是什么: 幫助開發(fā)人員在不同的編輯器 和 IDE 之間定義和維護(hù)一致的編碼樣式。

  5. husky是什么: 操作git hook的工具,主要實(shí)現(xiàn)代碼提交前 eslint 校驗(yàn)和 commit 信息的規(guī)范校驗(yàn),也可以避免多人合作時(shí)代碼格式化不統(tǒng)一造成的沖突

  6. lint-staged是什么: 可以在git staged階段的文件上執(zhí)行Linters。也就是只對git add之后的暫存區(qū)代碼進(jìn)行校驗(yàn)??梢酝ㄟ^配置文件來指定對不同的文件執(zhí)行不同的檢驗(yàn)。

  7. commitlint是什么: 要是對提交信息Commit Message的檢查。是一款檢查工具和husky一起配合使用。只有當(dāng)提交信息符合規(guī)則的時(shí)候,才能夠提交。

Eslint(代碼規(guī)范工具)

一:在Vscode中的配置eslint

  1. 在vscode中下載ESLint插件vscode husky,1024程序員節(jié)

  2. 點(diǎn)擊設(shè)置找到setting.json配置文件vscode husky,1024程序員節(jié)

  3. 在setting.json文件中添加有關(guān)eslint的配置

    "eslint.enable":true,
    "eslint.run":"onType",
    "eslint.options":{
        "extensions":[
            ".js",
            ".vue",
            ".jsx",
            ".tsx"
        ]
    },
    "editor.codeActionsOnSave":{
        "source.fixAll.eslint":true
    }

二:下載相關(guān)插件

根據(jù)項(xiàng)目具體需求下載依賴(以下是eslint常用依賴)

  1. 在vscode中下載ESLint插件

    // npm 安裝
    npm install eslint eslint-config-prettier eslint-plugin-prettier eslint-plugin-vue @typescript-eslint/eslint-plugin @typescript-eslint/parser -D
    // yarn 安裝
    yarn add eslint eslint-config-prettier eslint-plugin-prettier eslint-plugin-vue @typescript-eslint/eslint-plugin @typescript-eslint/parser -D
    //eslint-plugin-vue插件主要是增加eslint檢驗(yàn)規(guī)則對vue文件的支持

依賴

作用描述

eslint

ESLint 核心庫

eslint-config-prettier

關(guān)掉所有和 Prettier 沖突的 ESLint 的配置

eslint-plugin-prettier

將 Prettier 的 rules 以插件的形式加入到 ESLint 里面

eslint-plugin-vue

為 Vue 使用 ESlint 的插件

@typescript-eslint/eslint-plugin

ESLint 插件,包含了各類定義好的檢測 TypeScript 代碼的規(guī)范

@typescript-eslint/parser

ESLint 的解析器,用于解析 TypeScript,從而檢查和規(guī)范 TypeScript 代碼

三:創(chuàng)建.eslintignore文件

該文件配置不需要eslint規(guī)則校驗(yàn)的目錄名稱

node_modules
dist

四:創(chuàng)建.eslintrc.js文件

//.eslintrc.js 
// 這只是初始版本,幫助大家理解eslint的一些配置屬性,若要形成eslint的配置文件規(guī)范,還有待完善
module.exports = {
    root:true,//默認(rèn)情況下,Eslint會在所有父級目錄中尋找配置文件,一直到根目錄。為了將Eslint限制在一個(gè)特定的項(xiàng)目,設(shè)置root:true,Eslint一旦發(fā)現(xiàn)配置文件中有  “root":true.它就會停止在父級目錄中尋找
    //env:指定腳本的運(yùn)行環(huán)境
    env:{
        //預(yù)定義的全局變量,這里是瀏覽器環(huán)境
        browser:true,
        node:true,
        //會自動開啟es2021語法支持
        es2021:true
    }
    //指定解析器
    parser:"vue-eslint-parser"
    //配置文件從基礎(chǔ)配置中繼承已啟用的規(guī)則
    //eslint:recommended  啟用核心規(guī)則,在規(guī)則頁面中被標(biāo)記為√的
    extends:[
        //plugin:(此處不能有空格)包名/配置名稱。解析時(shí)plugin是解析成eslint-plugin-vue。如果有空格會解析失敗,eslint-plugin- vue
        //plugin可以省略包名的前綴 eslint-plugin-
        //擴(kuò)展風(fēng)格
        "eslint:recommended",
         "plugin:vue/vue3-recommended",
        "plugin:prettier/recommended",
         //eslint-config-prettier的縮寫
            "prettier"
    
    ]
    //設(shè)置解析器能幫助ESLint確定什么是解析錯(cuò)誤
    parserOptions:{
            //指定js版本,語法上的支持
        ecmaVersion:12,
        sourceType:"module",
            ecmaFeatures:{
                    jsx:true
                }
        },
    //使用第三方插件,全局安裝的ESLint實(shí)例只能使用全局安裝的ESLint插件《本地同理,不支持混用
    plugins:['vue','prettier','html'],
    //規(guī)則的細(xì)節(jié)請到ESLint官方網(wǎng)站查看"http://eslint.org/docs/rules/
    //每個(gè)規(guī)則有三個(gè)錯(cuò)誤級別
    // "off"或者0,不啟用這個(gè)規(guī)則
    // ”warn"或者1,出現(xiàn)問題會有警告
    // “error"或者2,出現(xiàn)問題會報(bào)錯(cuò)
    rules:{
                 "no-var": "error",
            "prettier/prettier": "error",
            // 禁止出現(xiàn)console
            "no-console": "warn",
            // 禁用debugger
            "no-debugger": "warn",
            // 禁止出現(xiàn)重復(fù)的 case 標(biāo)簽
            "no-duplicate-case": "warn",
            // 禁止出現(xiàn)空語句塊
            "no-empty": "warn",
            // 禁止不必要的括號
            "no-extra-parens": "off",
            // 禁止對 function 聲明重新賦值
            "no-func-assign": "warn",
            // 禁止在 return、throw、continue 和 break 語句之后出現(xiàn)不可達(dá)代碼
            "no-unreachable": "warn",
            // 強(qiáng)制所有控制語句使用一致的括號風(fēng)格
            curly: "warn",
            // 要求 switch 語句中有 default 分支
            "default-case": "warn",
            // 強(qiáng)制盡可能地使用點(diǎn)號
            "dot-notation": "warn",
            // 要求使用 === 和 !==
            eqeqeq: "warn",
            // 禁止 if 語句中 return 語句之后有 else 塊
            "no-else-return": "warn",
            // 禁止出現(xiàn)空函數(shù)
            "no-empty-function": "warn",
            // 禁用不必要的嵌套塊
            "no-lone-blocks": "warn",
            // 禁止使用多個(gè)空格
            "no-multi-spaces": "warn",
            // 禁止多次聲明同一變量
            "no-redeclare": "warn",
            // 禁止在 return 語句中使用賦值語句
            "no-return-assign": "warn",
            // 禁用不必要的 return await
            "no-return-await": "warn",
            // 禁止自我賦值
            "no-self-assign": "warn",
            // 禁止自身比較
            "no-self-compare": "warn",
            // 禁止不必要的 catch 子句
            "no-useless-catch": "warn",
            // 禁止多余的 return 語句
            "no-useless-return": "warn",
            // 禁止變量聲明與外層作用域的變量同名
            "no-shadow": "off",
            // 允許delete變量
            "no-delete-var": "off",
            // 強(qiáng)制數(shù)組方括號中使用一致的空格
            "array-bracket-spacing": "warn",
            // 強(qiáng)制在代碼塊中使用一致的大括號風(fēng)格
            "brace-style": "warn",
            // 強(qiáng)制使用駱駝拼寫法命名約定
            camelcase: "warn",
            // 強(qiáng)制使用一致的縮進(jìn)
            indent: "off",
            // 強(qiáng)制在 JSX 屬性中一致地使用雙引號或單引號
            // 'jsx-quotes': 'warn',
            // 強(qiáng)制可嵌套的塊的最大深度4
            "max-depth": "warn",
            // 強(qiáng)制最大行數(shù) 300
            // "max-lines": ["warn", { "max": 1200 }],
            // 強(qiáng)制函數(shù)最大代碼行數(shù) 50
            // 'max-lines-per-function': ['warn', { max: 70 }],
            // 強(qiáng)制函數(shù)塊最多允許的的語句數(shù)量20
            "max-statements": ["warn", 100],
            // 強(qiáng)制回調(diào)函數(shù)最大嵌套深度
            "max-nested-callbacks": ["warn", 3],
            // 強(qiáng)制函數(shù)定義中最多允許的參數(shù)數(shù)量
            "max-params": ["warn", 3],
            // 強(qiáng)制每一行中所允許的最大語句數(shù)量
            "max-statements-per-line": ["warn", { max: 1 }],
            // 要求方法鏈中每個(gè)調(diào)用都有一個(gè)換行符
            "newline-per-chained-call": ["warn", { ignoreChainWithDepth: 3 }],
            // 禁止 if 作為唯一的語句出現(xiàn)在 else 語句中
            "no-lonely-if": "warn",
            // 禁止空格和 tab 的混合縮進(jìn)
            "no-mixed-spaces-and-tabs": "warn",
            // 禁止出現(xiàn)多行空行
            "no-multiple-empty-lines": "warn",
            // 禁止出現(xiàn);
            // semi: ["warn", "never"],
            // 強(qiáng)制在塊之前使用一致的空格
            "space-before-blocks": "warn",
            // 強(qiáng)制在 function的左括號之前使用一致的空格
            // 'space-before-function-paren': ['warn', 'never'],
            // 強(qiáng)制在圓括號內(nèi)使用一致的空格
            "space-in-parens": "warn",
            // 要求操作符周圍有空格
            "space-infix-ops": "warn",
            // 強(qiáng)制在一元操作符前后使用一致的空格
            "space-unary-ops": "warn",
            // 強(qiáng)制在注釋中 // 或 /* 使用一致的空格
            // "spaced-comment": "warn",
            // 強(qiáng)制在 switch 的冒號左右有空格
            "switch-colon-spacing": "warn",
            // 強(qiáng)制箭頭函數(shù)的箭頭前后使用一致的空格
            "arrow-spacing": "warn",
            "prefer-const": "warn",
            "prefer-rest-params": "warn",
            "no-useless-escape": "warn",
            "no-irregular-whitespace": "warn",
            "no-prototype-builtins": "warn",
            "no-fallthrough": "warn",
            "no-extra-boolean-cast": "warn",
            "no-case-declarations": "warn",
            "no-async-promise-executor": "warn",
            "vue/multi-word-component-names": "off"
    }
    //腳本在執(zhí)行期間訪問的額外的全局變量
    globals:{
        defineProps: "readonly",
        defineEmits: "readonly",
        defineExpose: "readonly",
        withDefaults: "readonly",
    }
}

Prettier(代碼格式化工具)

一、Prettier是什么?

Prettier 根據(jù)官方解釋,是一個(gè)“有態(tài)度”的代碼格式化工具,支持大量編程語言格式化,包含:

  • JavaScript (including experimental features)

  • JSX

  • Angular

  • Vue

  • Flow

  • Typescript

  • CSS, Less and Scss

  • HTML

  • JSON

  • GraphQL

  • Markdown, including GFM and MDX

  • YAML

二、為什么需要 Prettier?

  • ESLint: 代碼檢測工具;可以檢測出你代碼中潛在的問題。比如:使用了某個(gè)變量卻忘記了定義

  • Prettier: 代碼格式化工具;作為代碼格式化工具,能夠統(tǒng)一或者你的團(tuán)隊(duì)的代碼風(fēng)格

  • 使用 ESLint 與 eslint-plugin-prettier 的結(jié)果是最終得到的代碼是充分尊重 Prettier 的結(jié)果,而 prettier-eslint-cli 則是先執(zhí)行 Prettier 然后再自動使用 eslint --fix 將與 ESLint 規(guī)則沖突的代碼修正成 ESLint 想要的結(jié)果。這樣其實(shí)引入 Prettier 不會影響你原有的設(shè)置。

三、如何使用 Prettier?

① 安裝 Prettier
yarn add prettier -D
② 在根目錄新建 .prettierrc.js,配置如下:
module.exports = {
    // 一行最多 80 字符
    printWidth: 80,
    // 使用 2 個(gè)空格縮進(jìn)
    tabWidth: 2,
    // 不使用 tab 縮進(jìn),而使用空格
    useTabs: false,
    // 行尾需要有分號
    semi: true,
    // 使用單引號代替雙引號
    singleQuote: true,
    // 對象的 key 僅在必要時(shí)用引號
    quoteProps: 'as-needed',
    // jsx 不使用單引號,而使用雙引號
    jsxSingleQuote: false,
    // 末尾使用逗號
    trailingComma: 'all',
    // 大括號內(nèi)的首尾需要空格 { foo: bar }
    bracketSpacing: true,
    // jsx 標(biāo)簽的反尖括號需要換行
    jsxBracketSameLine: false,
    // 箭頭函數(shù),只有一個(gè)參數(shù)的時(shí)候,也需要括號
    arrowParens: 'always',
    // 每個(gè)文件格式化的范圍是文件的全部內(nèi)容
    rangeStart: 0,
    rangeEnd: Infinity,
    // 不需要寫文件開頭的 @prettier
    requirePragma: false,
    // 不需要自動在文件開頭插入 @prettier
    insertPragma: false,
    // 使用默認(rèn)的折行標(biāo)準(zhǔn)
    proseWrap: 'preserve',
    // 根據(jù)顯示樣式?jīng)Q定 html 要不要折行
    htmlWhitespaceSensitivity: 'css',
    // 換行符使用 lf
    endOfLine: 'lf'
}
③ 接下來在 package.json 添加命令, 執(zhí)行 npm run prettier, 會對 src 目錄下后綴為 .ts 的文件進(jìn)行代碼格式
scripts: {
    "prettier": "prettier --write \"src/**/*.ts\""
 }
④ 在 vscode 中使用
  1. 截至目前,需要手動運(yùn)行命令 npm run eslint、npm run prettier 才能對代碼進(jìn)行格式化,還是挺麻煩的,也不是人人都會去手動執(zhí)行,所以我們可以借助 vscode 插件,實(shí)現(xiàn)保存時(shí)自動格式化代碼。

  2. 安裝 Eslint 和 Prettier 插件vscode husky,1024程序員節(jié)vscode husky,1024程序員節(jié)

  3. 在 setting.json 配置如下內(nèi)容,可以保存時(shí)自動格式化

    {
      "files.eol": "\n",
      "editor.tabSize": 2,
      "editor.defaultFormatter": "esbenp.prettier-vscode",
      "eslint.validate": [
        "javascript",
        "javascriptreact",
        "vue",
        "typescript",
        "typescriptreact"
      ],
      "editor.codeActionsOnSave": {
        "source.fixAll.eslint": true
      },
      "editor.formatOnSave": true
    }

這些配置目前只存在自己的 vscode, 我們可以將這些配置集成到我們的項(xiàng)目里面,讓團(tuán)隊(duì)也能快速擁有跟自己 一樣的配置。在根目錄創(chuàng)建 .vscode 文件夾,創(chuàng)建 settings.json 和 extensions.json, 并做相應(yīng)配置。

StyleLint(樣式規(guī)范工具)

EditorConfig 配置

1、簡介:EditorConfig 幫助開發(fā)人員在不同的編輯器 和 IDE 之間定義和維護(hù)一致的編碼樣式。

2、安裝 VsCode 插件(EditorConfig ):

3、配置 EditorConfig(.editorconfig):

http://editorconfig.org
root = true

[*] # 表示所有文件適用
charset = utf-8 # 設(shè)置文件字符集為 utf-8
end_of_line = lf # 控制換行類型(lf | cr | crlf)
insert_final_newline = true # 始終在文件末尾插入一個(gè)新行
indent_style = tab # 縮進(jìn)風(fēng)格(tab | space)
indent_size = 2 # 縮進(jìn)大小
max_line_length = 130 # 最大行長度

[*.md] # 表示僅 md 文件適用以下規(guī)則
max_line_length = off # 關(guān)閉最大行長度限制
trim_trailing_whitespace = false # 關(guān)閉末尾空格修剪

Git 規(guī)范流程

依賴

作用描述

husky

操作 git 鉤子的工具

lint-staged

在提交之前進(jìn)行 eslint 校驗(yàn),并使用 prettier 格式化本地暫存區(qū)的代碼

  1. husky(操作 git 鉤子的工具):

安裝:

npm install husky -D

使用:

// 1、打開package.json文件,在scripts中添加
  "prepare": "husky install"
// 2、添加完成之后,執(zhí)行如下命令
   npm set-script prepare "husky install"
   npm run prepare  // 在這之后會生成一個(gè)husky文件夾
  1. lint-staged(本地暫存代碼檢查工具)

安裝:

npm install lint-staged -D
  • 添加 ESlint Hook(在.husky 文件夾下添加 pre-commit 文件):

  • 作用:通過鉤子函數(shù),判斷提交的代碼是否符合規(guī)范,并使用 prettier 格式化代碼

  • 執(zhí)行以下命令,在husky文件夾下自動生成pre-commit文件

npx husky add .husky/pre-commit "npm run lint:lint-staged"
  • 新增lint-staged.config.js 文件:(根據(jù)具體需求具體配置) \ 或者在 package.json 配置文章來源地址http://www.zghlxwxcb.cn/news/detail-844642.html

module.exports = {
        "*.{js,jsx,ts,tsx}": ["eslint --fix", "prettier --write"],
        "{!(package)*.json,*.code-snippets,.!(browserslist)*rc}": ["prettier --write--parser json"],
        "package.json": ["prettier --write"],
        "*.vue": ["eslint --fix", "prettier --write", "stylelint --fix"],
        "*.{scss,less,styl,html}": ["stylelint --fix", "prettier --write"],
        "*.md": ["prettier --write"]
};

配置 package.json 命令

{
        "scripts": {
                // 以下為必配置
                "lint:eslint": "eslint --fix --ext .js,.ts,.vue ./src",
                "lint:prettier": "prettier --write --loglevel warn \"src/**/*.{js,ts,json,tsx,css,less,scss,vue,html,md}\"",
                "lint:stylelint": "stylelint --cache --fix \"**/*.{vue,less,postcss,css,scss}\" --cache --cache-location node_modules/.cache/stylelint/",
                "lint:lint-staged": "lint-staged",
                "prepare": "husky install"
        },
        "lint-staged": {
            "*.{ts,tsx,vue,js,jsx}": [
              "eslint --fix",
              "prettier --write"
            ]
          },
}

到了這里,關(guān)于代碼約束(ESlint\prettier\husky\lint-staged\commitlint)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【章節(jié)1】git commit規(guī)范 + husky + lint-staged實(shí)現(xiàn)commit的時(shí)候格式化代碼

    【章節(jié)1】git commit規(guī)范 + husky + lint-staged實(shí)現(xiàn)commit的時(shí)候格式化代碼

    創(chuàng)建項(xiàng)目我們不多說,可以選擇默認(rèn)的,也可以用你們現(xiàn)有的項(xiàng)目。注意章節(jié)1和章節(jié)2請一起看! 章節(jié)1: commit規(guī)范+ husky + lint-staged格式化代碼 章節(jié)2: husky + 檢測是否有未解決的沖突 + 預(yù)檢查debugger + 自動檢查是否符合commit規(guī)范 前言: git commit 的時(shí)候總有人填寫一堆花里胡哨亂

    2024年02月08日
    瀏覽(89)
  • 【vue3-element-admin】Husky + Lint-staged + Commitlint + Commitizen + cz-git 配置 Git 提交規(guī)范

    本文介紹 vue3-element-admin 如何通過 Husky + Lint-staged + Commitlint + Commitizen + cz-git 來配置 Git 提交代碼規(guī)范。 核心內(nèi)容是配置 Husky 的 pre-commit 和 commit-msg 兩個(gè)鉤子: pre-commit :Husky + Lint-staged 整合實(shí)現(xiàn) Git 提交前代碼規(guī)范檢測/格式化 (前提:ESlint + Prettier + Stylelint 代碼統(tǒng)一規(guī)范);

    2023年04月17日
    瀏覽(46)
  • vite+vue3+ts+eslint+prettier+husky+lint-stated 項(xiàng)目搭建

    項(xiàng)目搭建 創(chuàng)建初始項(xiàng)目 Node.js 版本 14.18+,16+ npm create vite@latest my-vue-app --template vue-ts 添加eslint eslint 初始化 npm init @eslint/config eslint初始化腳本,按自己的要求選擇相應(yīng)的eslint 配置,以下是我選擇的配置項(xiàng) ? How would you like to use ESLint? · style ? What type of modules does your project

    2024年02月08日
    瀏覽(30)
  • 代碼提交規(guī)范-ESLint+Prettier+husky+Commitlint

    代碼提交規(guī)范-ESLint+Prettier+husky+Commitlint

    先看下思維導(dǎo)圖分析 裝包配置.eslintrc.js 配置忽略文件 運(yùn)行 詳細(xì)講解 以react 項(xiàng)目為例 配置文件 eslintrc文件 根目錄/.eslintrc.js 設(shè)置忽略文件 .eslintignore 主要步驟 配置perttier 配置忽略文件 處理eslint的沖突 配置vscode的setting.json 配置.prettierrc.js文件 判斷是否生效直接使用命令 n

    2024年02月04日
    瀏覽(18)
  • Cannot find module lint-staged 解決辦法

    使用git lint-stag后,再commit時(shí)報(bào)錯(cuò) Cannot find module lint-staged 重新npm install和npm install lint-stag都不生效,最后把 node_modules刪掉 ,再重新 npm install 就好用啦!

    2024年02月16日
    瀏覽(19)
  • git commit報(bào)錯(cuò):running pre-commit hook: lint-staged

    git commit報(bào)錯(cuò):running pre-commit hook: lint-staged

    running pre-commit hook: lint-staged 在項(xiàng)目(vue)的package.json文件中,查找 “husky” 部分,并確認(rèn)其下的 “pre-commit” 鉤子是否正確地引用了 lint-staged。 其中配置示例如下 (供參考,不會配的話粘過去就能用): 希望記錄的問題,能夠幫助到你!

    2024年02月05日
    瀏覽(21)
  • git提交失敗之running pre-commit hook: lint-staged

    git提交失敗之running pre-commit hook: lint-staged

    在項(xiàng)目中提交代碼時(shí)遇到了git報(bào)錯(cuò),但是很疑惑不知道為什么報(bào)錯(cuò)。上網(wǎng)差了查才發(fā)現(xiàn)是項(xiàng)目中有語法校驗(yàn),在提交中g(shù)it默認(rèn)不允許存在很多語法錯(cuò)誤的文件提交。 錯(cuò)誤提示: git:running pre-commit hook:lint-staged 錯(cuò)誤分析: 錯(cuò)誤的意思是大概是有一個(gè)鉤子,提交前檢查項(xiàng)目代碼的

    2024年02月13日
    瀏覽(24)
  • git commit 時(shí) 報(bào)錯(cuò) ‘lint-staged‘ 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序 或批處理文件

    合并分支的時(shí)候報(bào)錯(cuò),?\\\'lint-staged\\\' 不是內(nèi)部或外部命令。導(dǎo)致分支無法合并,且會見被合并分支的提交內(nèi)容stage到合并分支,提示需要在合并分支再執(zhí)行一次commit命令。 因?yàn)槲覀兊拇a在提交,或者合并時(shí),必須通過代碼校驗(yàn),才能正常提交或合并。這個(gè)報(bào)錯(cuò)就是因?yàn)闆]有全

    2024年02月03日
    瀏覽(31)
  • Nodejs+Typescript+Eslint+Prettier+Husky項(xiàng)目構(gòu)建

    倉庫地址 確保已經(jīng)安裝了git以及Node.js和npm,通過 git -v 、 node -v 和 npm -v 檢查是否安裝。 在新建的tsconfig.json中,修改target、module、和outDir,其中outDir設(shè)置為 ./dist ,其他根據(jù)情況設(shè)置。 根據(jù)情況選擇配置: 首先,安裝 Prettier,在項(xiàng)目目錄中,運(yùn)行 創(chuàng)建一個(gè) .prettierrc 文件來

    2024年02月11日
    瀏覽(21)
  • 【vue3-element-admin】ESLint+Prettier+Stylelint+EditorConfig 約束和統(tǒng)一前端代碼

    【vue3-element-admin】ESLint+Prettier+Stylelint+EditorConfig 約束和統(tǒng)一前端代碼

    本文介紹?vue3-element-admin?如何通過ESLint 檢測 JS/TS 代碼、Prettier 格式化代碼、Stylelint 檢測 CSS/SCSS 代碼和配置 EditorConfig 來全方位約束和統(tǒng)一前端代碼規(guī)范。 ESLint?可組裝的JavaScript和JSX檢查工具,目標(biāo)是保證代碼的一致性和避免錯(cuò)誤。 ESLint 安裝 安裝 ESLint 插件 VSCode 插件市場

    2024年02月13日
    瀏覽(53)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包