寫Vue項目時,使用CLI搭建項目,勾選上ESLint+Prettier就會自動幫咱們配置好,最近寫的代碼脫離了webpack,想規範本身的代碼格式,搜了不少文章,大都是基於webpack的。css
通過我一番折騰後,終於搞出了不須要webpack就能讓編輯器結合ESLint對代碼進行格式校驗,接下來就跟你們分享下個人實現過程,歡迎各位感興趣的開發者閱讀本文。html
本文使用的編輯器器是WebStorm,採用的包管理工具是yarn。node
開始以前,先跟你們看下個人項目結構,是一個很簡單的js項目。 webpack
# 項目根目錄執行,執行後填寫相關信息,初始化成功後,項目根目錄會多一個package.json文件 yarn init 複製代碼
# 項目根目錄執行,執行完成後項目根目錄會多一個yarn.lock文件 yarn install 複製代碼
# 項目根目錄執行 yarn add eslint --dev 複製代碼
# 項目根目錄執行 yarn eslint --init # 執行後,會出現以下選擇 # 你想如何使用ESLint,我選擇第二項校驗代碼和解決方案 ✔ How would you like to use ESLint? · problems # 使用什麼做爲項目模塊,我選擇import/export ✔ What type of modules does your project use? · esm # 項目使用哪一個框架,我選擇第三項不使用框架 ✔ Which framework does your project use? · none # 項目是否使用typescript,我選擇yes ✔ Does your project use TypeScript? · No / Yes # 代碼運行環境,我選擇了瀏覽器和node ✔ Where does your code run? · browser, node # eslint配置文件的格式,我選擇json配置格式 ✔ What format do you want your config file to be in? · JSON # 是否安裝以下依賴 The config that you've selected requires the following dependencies: @typescript-eslint/eslint-plugin@latest @typescript-eslint/parser@latest # 這裏選擇no,一會本身安裝缺乏的依賴 ✔ Would you like to install them now with npm? · No / Yes Successfully created .eslintrc.json file in /Users/likai/Documents/WebProject/JavaScript-test ✨ Done in 85.77s. 複製代碼
yarn add typescript @typescript-eslint/parser @typescript-eslint/eslint-plugin --dev
複製代碼
執行完上述步驟後,項目目錄以下圖所示web
yarn add prettier --dev
複製代碼
{
"printWidth": 160, // 每一行的代碼字符
"tabWidth": 4, // tab的長度
"useTabs": true, // 使用tab
"singleQuote": false, // 使用單引號代替雙引號
"semi": true, // 末尾分號
"trailingComma": "none", // 刪除數組末尾逗號
"bracketSpacing": true // 大括號之間的空格
}
複製代碼
單獨使用ESLint須要在其配置文件中額外配置不少規則,而這些規則又大多爲prettier的默認規則或者咱們已經在prettier配了一份,這樣就會形成重複寫的狀況且維護成本較大。typescript
幸虧插件的做者已經想到了這一點,出了一個名爲eslint-plugin-prettier的插件。經過下屬命令進行安裝npm
yarn add eslint-plugin-prettier --dev
複製代碼
"plugins": [ "prettier" ], "rules": { "prettier/prettier": "error", // prettier標記的地方拋出錯誤信息 "spaced-comment": [2,"always"] // 註釋後面必須寫兩個空格 } 複製代碼
加入上述配置後,大概能夠省略以下配置: json
本文只介紹ESLint和prettier的入門使用,更多配置請移步:數組
ESLint文檔: ESLint瀏覽器
Prettier文檔: Prettier
隨便打開一個ts文件,咱們發現已經有eslint的相關提示了。
測試下自動格式化代碼,如圖所示寫完代碼後按Ctrl+S便可自動格式化