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

vite項(xiàng)目添加eslint?prettier及husky方法實(shí)例

 更新時(shí)間:2022年07月04日 12:04:18   作者:傾墨  
這篇文章主要為大家介紹了vite項(xiàng)目添加eslint?prettier及實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

1. 初始化vite項(xiàng)目

npm init vite
? Project name: … vite-project // 項(xiàng)目名稱,默認(rèn) vite-project
? Select a framework: ? react  // 選擇框架
? Select a variant: ? react-ts // 選擇組合

2. 添加eslint

安裝

npm i -D eslint

初始化eslint配置

npx eslint --init
? How would you like to use ESLint? 
// To check syntax, find problems, and enforce code style
? What type of modules does your project use? 
// JavaScript modules (import/export)
? Which framework does your project use? 
// react
? Does your project use TypeScript? 
// Yes
? Where does your code run? 
// browser
? How would you like to define a style for your project? 
// Use a popular style guide
? Which style guide do you want to follow? 
// Airbnb
? What format do you want your config file to be in? 
// JavaScript

解決eslint報(bào)錯(cuò)

Missing semicolon.eslint: 末尾加上;即可

JSX not allowed in files with extension '.tsx': 在.eslintrc.json中添加rules設(shè)置

{
    // ...
    "react/jsx-filename-extension": [
        "error",
        {
            "extensions": [".js", ".jsx", ".tsx", ".ts"]
        }
    ]
};

{count} must be placed on a new line: 代碼換行即可;

Unable to resolve path to module './App': 在.eslintrc.json中添加rules設(shè)置

{
    // ...
    rules: {
         "import/no-unresolved": "off",
         "import/extensions": "off",
         "import/no-absolute-path": "off"
    },
};

'vite' should be listed in the project's dependencies, not devDependencies.:

.eslintrc.json中添加rules設(shè)置

{
    // ...
    "rules": {
        "import/no-extraneous-dependencies": [
            "error", 
            {"devDependencies": true}
        ]
        // ...
    }
};

3. 添加 prettier

安裝

npm i -D prettier eslint-config-prettier eslint-plugin-prettier

prettier: 核心模塊

eslint-config-prettier: 關(guān)閉所有不必要或可能跟prettier產(chǎn)生沖突的規(guī)則

eslint-plugin-prettier: 可以讓eslint使用prettier規(guī)則進(jìn)行檢查

配置

根目錄下.eslintrc.json文件中添加extends設(shè)置

{
    // ...
    "extends": [
        // ...
        "plugin:prettier/recommended",
    ],
}

根目錄下創(chuàng)建.prettierrc.json文件

{
  "trailingComma": "es5",
  "tabWidth": 2,
  "semi": true,
  "singleQuote": true
}

注意??:

修改.prettierrc.json文件后,需要重啟vscode才生效

如果配置后,配置不生效,嘗試以下設(shè)置:

4. 添加 husky和lint-staged

安裝

npm i -D lint-staged husky

配置

package.json中添加腳本

npm set-script prepare "husky install"

package.json文件的scripts中,就會(huì)自動(dòng)添加prepare;

2. 初始化husky,將 git hooks鉤子交由husky執(zhí)行

npm run prepare

會(huì)在根目錄創(chuàng)建.husky文件夾

3. 配置package.json

package.json文件如下:

{
  "env": {
    "browser": true,
    "node": true,
    "es2021": true
  },
  "extends": [
    "plugin:react/recommended",
    "airbnb",
    "plugin:prettier/recommended",
    "plugin:import/recommended"
  ],
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "ecmaFeatures": {
      "jsx": true
    },
    "ecmaVersion": "latest",
    "sourceType": "module"
  },
  "plugins": ["react", "@typescript-eslint"],
  "rules": {
    "import/no-extraneous-dependencies": [
      "error", 
      {"devDependencies": true}
    ],
    "react/jsx-filename-extension": [
      "error",
      {
        "extensions": [".js", ".jsx", ".tsx", ".ts"]
      }
    ],
    "import/no-unresolved": "off",
    "import/extensions": "off",
    "import/no-absolute-path": "off"
  }
}

添加鉤子pre-commit

npx husky add .husky/pre-commit "npx lint-staged"

5. 配置commitlint

  • 作用:規(guī)范提交信息
  • 格式:git commit -m '類型: 描述性文字'
類型概念
build編譯相關(guān)的修改,例如發(fā)布版本、對項(xiàng)目構(gòu)建或者依賴的改動(dòng)
ci持續(xù)集成修改
docs文檔修改
feat新特性、新功能
fix修改bug
perf優(yōu)化相關(guān),比如提升性能、體驗(yàn)
refactor代碼重構(gòu)
revert回滾到上一個(gè)版本
style代碼格式修改, 注意不是 css 修改
test測試用例修改
chore其他修改,比如改變構(gòu)建流程、或者增加依賴庫、工具等
  • 安裝
npm i -D commitlint @commitlint/config-conventional
  • 配置

package.json中配置commitlint

{
    // ...
    "commitlint": {
        "extends": [
            "@commitlint/config-conventional"
        ]
    }
}
  • 添加鉤子
npx husky add .husky/commit-msg 'npx --no-install commitlint --edit "$1"'

git commit 就會(huì)觸發(fā)提交規(guī)范的校驗(yàn)啦;

以上就是vite項(xiàng)目添加eslint prettier及husky方法實(shí)例的詳細(xì)內(nèi)容,更多關(guān)于vite項(xiàng)目添加eslint prettier husky的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • vue3?中使用?jsx?開發(fā)的詳細(xì)過程

    vue3?中使用?jsx?開發(fā)的詳細(xì)過程

    這篇文章主要介紹了vue3?中使用?jsx?開發(fā),本文著重說一下在使用 .vue 文件和 .jsx 文件在使用語法上的差異,需要的朋友可以參考下
    2022-09-09
  • 詳解Vite的新體驗(yàn)

    詳解Vite的新體驗(yàn)

    這篇文章主要介紹了詳解Vite的新體驗(yàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • vue 的keep-alive緩存功能的實(shí)現(xiàn)

    vue 的keep-alive緩存功能的實(shí)現(xiàn)

    本篇文章主要介紹了vue 的keep-alive緩存功能的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-03-03
  • Vue中插槽slot的用法詳解

    Vue中插槽slot的用法詳解

    插槽(Slot)是Vue.js中一個(gè)非常重要的概念,它極大地提高了組件的復(fù)用性和靈活性,通過插槽,我們可以自定義組件的內(nèi)容,使其能夠適應(yīng)不同的場景,本文將結(jié)合實(shí)際案例,詳細(xì)介紹Vue中插槽的基本用法、類型以及高級技巧,需要的朋友可以參考下
    2024-11-11
  • 安裝node.js以及搭建vue項(xiàng)目過程中遇到的問題詳解

    安裝node.js以及搭建vue項(xiàng)目過程中遇到的問題詳解

    為了讓一些不太清楚搭建前端項(xiàng)目的小白,更快上手,下面這篇文章主要給大家介紹了關(guān)于安裝node.js以及搭建vue項(xiàng)目過程中遇到問題的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • Vue 組件參數(shù)校驗(yàn)與非props特性的方法

    Vue 組件參數(shù)校驗(yàn)與非props特性的方法

    這篇文章主要介紹了Vue 組件參數(shù)校驗(yàn)與非props特性的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-02-02
  • UNIapp實(shí)現(xiàn)局域網(wǎng)內(nèi)在線升級的操作方法

    UNIapp實(shí)現(xiàn)局域網(wǎng)內(nèi)在線升級的操作方法

    這篇文章主要介紹了UNIapp實(shí)現(xiàn)局域網(wǎng)內(nèi)在線升級的操作方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-03-03
  • 如何設(shè)置Vue全局公共方法

    如何設(shè)置Vue全局公共方法

    這篇文章主要介紹了如何設(shè)置Vue全局公共方法,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • vue實(shí)現(xiàn)列表展示示例詳解

    vue實(shí)現(xiàn)列表展示示例詳解

    這篇文章主要為大家介紹了vue實(shí)現(xiàn)列表展示的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • 解決Nuxt使用axios跨域問題

    解決Nuxt使用axios跨域問題

    這篇文章主要介紹了Nuxt使用axios跨域問題解決方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07

最新評論

周口市| 万宁市| 嘉黎县| 太白县| 合阳县| 团风县| 卢湾区| 达日县| 广南县| 鲁山县| 康平县| 石河子市| 岳普湖县| 句容市| 阿合奇县| 余江县| 洛隆县| 共和县| 宁国市| 鄂州市| 喀什市| 合山市| 天津市| 瑞安市| 保定市| 甘孜县| 封开县| 新野县| 濮阳县| 天镇县| 沐川县| 嘉禾县| 天台县| 六枝特区| 青田县| 商洛市| 揭西县| 襄汾县| 淳安县| 邵阳市| 万州区|