<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Vue3+Vite+TS+Eslint 搭建生產(chǎn)項目,踩坑詳記(一)

          共 3471字,需瀏覽 7分鐘

           ·

          2021-09-11 11:43

          最近鬼哥也在使用Vue3.0,項目架構(gòu)也是Vue3.0+vite2.0+Ele UI,剛好發(fā)現(xiàn)這篇寶藏文章。文章一共五篇,推薦大家一起學(xué)習(xí),記得關(guān)注公眾號,把這個系列學(xué)習(xí)完整,完全掌握這套架構(gòu)。

          說干就干,然后就開始讀各種文檔,從 0 開始,一步一步搭完這個項目到可以正常開發(fā)

          今天是第一篇文章主要是項目初始化和ESLint導(dǎo)入,廢話不多說,開整。

          初始化項目

          按照自己需要的框架選擇就可以了,我這里用的Vue3+TS。初始化完成后的目錄結(jié)構(gòu)如下:

          image.png

          啟動項目

          執(zhí)行 npm run dev,大概率會直接報錯,因為項目默認(rèn)啟動在3000端口,可能會被拒絕。

          image.png

          解決這個問題,我們需要在根目錄下的 vite.config.ts 文件中修改開發(fā)服務(wù)器的配置,手動指定端口號。

          image.png

          修改完成后重新啟動項目,就可以訪問了。

          image.png

          添加ESLint支持

          安裝ESLint

          • eslint只有開發(fā)階段需要,因此添加到開發(fā)階段的依賴中即可
          npm install eslint --save-dev

          • 在VS Code中安裝eslint插件,以在開發(fā)中自動進行eslint校驗

          配置ESLint

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

          添加基礎(chǔ)配置

          module.exports = {
            root: true,
            env: {
              browser: true// browser global variables
              es2021: true// adds all ECMAScript 2021 globals and automatically sets the ecmaVersion parser option to 12.
            },
            parserOptions: {
              ecmaVersion: 12,
            },
          }

          引入規(guī)則

          為了規(guī)范團隊成員代碼格式,以及保持統(tǒng)一的代碼風(fēng)格,項目采用當(dāng)前業(yè)界最火的 Airbnb規(guī)范[1] ,并引入代碼風(fēng)格管理工具 Prettier[2] 。

          eslint-plugin-vue

          ESLint官方提供的Vue插件,可以檢查 .vue文件中的語法錯誤

          npm install eslint-plugin-vue

          // .eslintrc.js
          ...
          extends: [
              'plugin:vue/vue3-recommended' // ++
          ]
          ...

          eslint-config-airbnb-base

          Airbnb基礎(chǔ)規(guī)則的eslint插件

          // npm version > 5
          npx install-peerdeps --dev eslint-config-airbnb-base

          // .eslintrc.js
          ...
          extends: [
              'plugin:vue/vue3-recommended',
              'airbnb-base', // ++
          ],
          ...

          這個時候就應(yīng)該可以看到一些項目原有代碼的eslint報錯信息了,如果沒有的話,可以嘗試重啟編輯器的eslint服務(wù)。

          eslint-plugin-prettier

          本次項目不單獨引入prettier,而是使用eslint插件將prettier作為eslint規(guī)則執(zhí)行。

          npm install --save-dev eslint-plugin-prettier
          npm install --save-dev --save-exact prettier

          // .eslintrc.js
          ...
          plugins: ['prettier'], // ++
          rules: {
              'prettier/prettier''error'// ++
          },
          ...

          配置到此時,大概率會遇到 eslint 規(guī)則和 prettier 規(guī)則沖突的情況,比如下圖。eslint告訴我們要使用單引號,但是改為單引號以后,prettier有告訴我們要使用雙引號。

          image.png
          image.png

          這時候就需要另一個eslint的插件 eslint-config-prettier,這個插件的作用是禁用所有與格式相關(guān)的eslint規(guī)則,也就是說把所有格式相關(guān)的校驗都交給 prettier 處理。

          npm install --save-dev eslint-config-prettier

          // .eslintrc.js
          ...
          plugins: ['prettier'],
          extends: [
              'plugin:vue/vue3-recommended',
              'airbnb-base',
              'plugin:prettier/recommended'// ++
          ],
          rules: {
              'prettier/prettier''error',
          },
          ...

          plugin:prettier/recommended 的配置需要注意的是,一定要放在最后。因為extends中后引入的規(guī)則會覆蓋前面的規(guī)則。

          我們還可以在根目錄新建 ``.prettierrc.js文件自定義prettier規(guī)則,保存規(guī)則后,重啟編輯器的eslint`服務(wù)以更新編輯器讀取的配置文件。

          // .prettierrc.js
          module.exports = {
            singleQuotetrue// 使用單引號
          }

          到此,我們的ESLint基本配置結(jié)束了,后續(xù)需要時可以對規(guī)則進行調(diào)整。

          這篇文章到這里就結(jié)束了,但是只在開發(fā)階段約束代碼風(fēng)格是一件靠自覺性的是,因為我們還需要增強ESLint的約束度。下一篇文章,我們一起研究如果在提交代碼前進行ESLint二次校驗,保證提交到Git的代碼都是符合規(guī)定的~

          原文地址

          https://juejin.cn/post/6982529246480564238


          關(guān)注公眾號添加鬼哥微信

                                      拉你進前端學(xué)習(xí)群一起學(xué)習(xí)

                               

          ?? 看完三件事

          如果你覺得這篇內(nèi)容對你挺有啟發(fā),不妨:

          • 點個【在看】,或者分享轉(zhuǎn)發(fā),讓更多的人也能看到這篇內(nèi)容

          • 點擊↓面關(guān)注我們,一起學(xué)前端

          • 長按↓面二維碼,添加鬼哥微信,一起學(xué)前端



          瀏覽 173
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  A免费黄片观看 | 波多野结衣精品视频 | a黄视频| 91麻豆成人 | 欧美日逼片 |