<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
eslint它規範的是程式碼偏向語法層面上的風格。本篇文章以一個基本的vue專案,來說明eslint+prettier+husky設定專案程式碼規範,為了更好的描述本文,我恢復了vscode的預設設定(即未安裝eslint,prettier等外掛,setting中也沒有相關設定)
vue create eslint-test
npm install eslint --save-dev
npx eslint --init
生成.eslintrc.js檔案:
module.exports = { "env": { "browser": true, "es2021": true, "node": true }, "extends": [ "eslint:recommended",//繼承Eslint中推薦的(打鉤的)規則項http://eslint.cn/docs/rules/ "plugin:vue/essential"// 此項是用來設定vue.js風格 ], "parserOptions": { "ecmaVersion": 13, "sourceType": "module" }, "plugins": [ "vue" ], "rules": { } };
這裡的規則,寫在後面的會覆蓋前面的,並且rules中的規則最後會覆蓋這裡的,所以我們自定義規則就是寫在rules中,才能覆蓋之前的規則,從而生效。
"extends": [ "eslint:recommended",//繼承Eslint中推薦的(打鉤的)規則項http://eslint.cn/docs/rules/ "plugin:vue/essential"// 此項是用來設定vue.js風格https://eslint.vuejs.org/rules ],
Available rules | eslint-plugin-vue (vuejs.org)
這個預設規則是怎麼生效的呢?舉個例子,我們點進去連結,可以看到這個no-debugger是打上了對勾(也就是"eslint:recommended")中生效的規則,然後我們再在專案中寫個debugger,然後命令列執行檢查eslint的命令,就會報錯了。
專案根目錄執行:
npx eslint --ext .vue src/ 等價於:./node_modules/.bin/eslint --ext .vue src/ --ext:可以指定在指定目錄/檔案 .vue:vue檔案 src/:在src目錄下匹配
Eslint附帶了大量的校驗規則,這些規則的值分別有如下規律:
常見的rules規則,可以看官網:List of available rules - ESLint中文
// "semi": [2, "always"],//語句強制分號結尾 // "quotes": [2, "double"],//引號型別 "" //"no-alert": 0,//禁止使用alert //"no-console": 2,//禁止使用console //"no-const-assign": 2,//禁止修改const宣告的變數 //"no-debugger": 2,//禁止使用debugger //"no-duplicate-case": 2,//switch中的case標籤不能重複 //"no-extra-semi": 2,//禁止多餘的冒號 //"no-multi-spaces": 1,//不能用多餘的空格
當我們這樣自定義設定結尾必須分號之後,再執行檢查,專案中就會報對應的錯:
上文中,我們是手動輸入命令列來檢查程式碼是否符合eslint規範的,這樣每次檢查都要輸入一遍,有的人要是記不住這命令怎麼辦?於是可以在package.json的script中寫死這個指令碼:
"lint": "eslint --ext .js --ext .jsx --ext .vue src/",
於是,專案根目錄執行npm run lint,實際上就是執行:
npx eslint --ext .js --ext .jsx --ext .vue src/
從而實現程式碼的檢查:
難道每次寫完一句程式碼,都要npm run lint來檢查下是否符合規範嘛?那樣太麻煩了。於是有eslint外掛,這裡我用的是vscode,開啟外掛市場,搜尋到eslint,安裝即可:
安裝了之後什麼效果呢?就是它會自動檢查你的程式碼是否符號規範,並且會在編輯器中標識出來哪裡不符合規範,底下終端處還會羅列出問題:
比如說上文咱們寫了好多這種bug,一個一個手動修復,太麻煩了。eslint提供了一個–fix的命令列,可以實現自動修復不符合規範的程式碼,但是這種修復不是萬能的,官網中說,有這個(扳手)
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45