最近時間比較多嚼黔,研究了一下公司項目中的代碼细层,發(fā)現(xiàn)項目的編碼風(fēng)格并不統(tǒng)一,運算符前面空格的唬涧,運算符前面不空格的疫赎,用tab的,用空格鍵的碎节,注釋也寫的及其不規(guī)范捧搞,忍不了,所以想借助eslint來統(tǒng)一一下編程風(fēng)格狮荔,提高公司代碼的一致性胎撇。
什么是eslint
ESLint最初是由Nicholas C. Zakas 于2013年6月創(chuàng)建的開源項目。它的目標(biāo)是提供一個插件化的javascript代碼檢測工具殖氏。借助eslint晚树,我們可以統(tǒng)一代碼風(fēng)格,讓整個項目的編程風(fēng)格保持一致受葛。
如何使用eslint
關(guān)于如何學(xué)習(xí)eslint题涨,推薦直接看官網(wǎng):eslint。官網(wǎng)對于如何安裝总滩,如何配置已經(jīng)介紹的很仔細(xì)了,我就不再狗尾續(xù)貂了巡雨。
一般推薦使用eslint init
命令生成配置文件闰渔,然后根據(jù)自己的習(xí)慣,選擇生成自己自定義的代碼風(fēng)格配置還是大公司里面的配置铐望。生成配置文件后冈涧,如果我們想對代碼規(guī)則修改,可以在rules里面加上自己的配置正蛙。
"rules": {
"no-console":0
}
比如我的配置文件規(guī)則引用的是一個現(xiàn)在比較流行的規(guī)則督弓,其中有一條就是不允許出現(xiàn)console
,但是我個人比較喜歡用console.log
調(diào)試,所以我將這條規(guī)則關(guān)閉了乒验∮匏恚總而言之,eslint的規(guī)則是完全可以自定義的锻全。
js-doc風(fēng)格的注釋
JSDoc 根據(jù) JavaScript 代碼中的特殊格式的注釋生成應(yīng)用程序接口(API)文檔狂塘。例如录煤,下面的是一個函數(shù)的 JSDoc 注釋:
/**
* Add two numbers.
* @param {number} num1 The first number.
* @param {number} num2 The second number.
* @returns {number} The sum of the two numbers.
*/
function add(num1, num2) {
return num1 + num2;
}
在第一眼看到這個注釋的時候就有一股親切感,這不是C#里面的summary嘛荞胡,瞬間愛上妈踊。趕快找在webstrom里面怎么生成這種風(fēng)格的注釋,發(fā)現(xiàn)只要輸入/**
然后按enter
就可以了泪漂,不愧是webstrom廊营,啥都有。
在webstrom中使用eslint
使用npm
安裝好eslint
后萝勤,選擇File | Settings | Languages & Frameworks | JavaScript | Code Quality Tools | ESLint
赘风。一般安裝好以后,webstrom會自動的尋找eslint所在的目錄纵刘,并不需要我們手動的去配置邀窃,具體配置可參考下圖。