摘要:使用配置完成,如何使用呢在文件中添加一條代表需要解析的文件格式,最后接上文件路徑,由于我們的主要代碼都在目錄下,這里就配置文件夾。
前言:
本章內容,我們在項目中加入eslint配置,來審查校驗代碼,這樣能夠避免一些比較低級的錯誤。并且在團隊協作的時候,保持同一種風格和規范能提高代碼的可讀性,進而提高我們的工作效率。
安裝:eslint-config-standard 是一種較為成熟通用的代碼審查規則,這樣就不用我們自己去定義規則了,使用起來非常方便,記住還需要安裝一些依賴插件:
npm install --save-dev eslint eslint-config-standard eslint-plugin-standard eslint-plugin-promise eslint-plugin-import eslint-plugin-node配置:
在項目根目錄下創建 .eslintrc 文件:
{ "extends": "standard", "rules": { "no-new": "off" } }
在vue項目中,.vue文件中的 script標簽內的代碼,eslint 是無法識別的,這時就需要使用插件: eslint-plugin-html
npm i eslint-plugin-html -D
然后在 .eslintrc 中配置該插件:
{ "extends": "standard", "plugins": [ "html" ], "rules": { "no-new": "off" } }
這樣就能解析 .vue文件中的JS代碼了,官方也是如此推薦。
使用:配置完成,如何使用呢?
在 package.json 文件中添加一條 script:
"scripts": { "build": "cross-env NODE_ENV=production webpack --config config/webpack.config.js --progress --inline --colors", "lint": "eslint --ext .js --ext .vue src/" }
- -ext 代表需要解析的文件格式,最后接上文件路徑,由于我們的主要代碼都在src 目錄下,這里就配置 src 文件夾。
npm run lint
可見控制臺給出了很多錯誤:
在項目前期沒有加入eslint的情況下,后期加入必然會審查出許多錯誤。出現這么多錯誤之后,如果我們逐條手動去解決會非常耗時,此時可以借助eslint自動修復,方法也很簡單。
只需要添加一條命令即可:
"scripts": { "build": "cross-env NODE_ENV=production webpack --config config/webpack.config.js --progress --inline --colors", "lint": "eslint --ext .js --ext .vue src/", "lint-fix": "eslint --fix --ext .js --ext .jsx --ext .vue src/" }
然后執行
npm run lint-fix
我們希望在開發過程中能夠實時進行eslint代碼審查,需要安裝兩個依賴:
npm i eslint-loader babel-eslint -D
修改 .eslintrc:
{ "extends": "standard", "plugins": [ "html" ], "rules": { "no-new": "off" }, "parserOptions":{ "parser": "babel-eslint" } }
由于我們的項目使用了webpack并且代碼都是經過Babel編譯的,但是Babel處理過的代碼有些語法可能對于eslint支持性不好,所以需要指定一個 parser。
下一步,在webpack.config.js中添加loader:
{ test: /.(vue|js)$/, loader: "eslint-loader", exclude: /node_modules/, enforce: "pre" }
enforce: "pre" 表示預處理,因為我們只是希望eslint來審查我們的代碼,并不是去改變它,在真正的loader(比如:vue-loader)發揮作用前用eslint去檢查代碼。
記得在你的IDE中安裝并開啟eslint插件功能,這樣就會有錯誤提示了。
比如:
圖中的錯誤是未使用的變量。
# editorconfig:
editorconfig是用來規范我們的IDE配置的,在根目錄創建 .editorconfig文件:
root = true [*] charset = utf-8 indent_style = space indent_size = 2 end_of_line = lf insert_final_newline = true trim_trailing_whitespace = true
這樣就能在各種IDE使用相同的配置了。
同樣需要在IDE中安裝editorconfig插件
以上就是eslint的配置方法了。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/101057.html
摘要:傳送門系列教程一初識系列教程二創建項目,打包第一個文件系列教程三自動生成項目中的文件系列教程四處理項目中的資源文件一系列教程五處理項目中的資源文件二系列教程六使用分割代碼系列教程七使用系列教程八使用審查代碼系列教程九開發環境和生產環境 在前端開發日益復雜的今天,我們需要一個工具來幫助我們管理項目資源,打包、編譯、預處理、后處理等等。webpack的出現無疑是前端開發者的福音,我的博文只...
摘要:本文首發于的技術博客實用至上,非經作者同意,請勿轉載。如果你使用了,或類似的,那么,通過編譯前后的代碼相差就很大了,這會造成兩個問題以為例把你的代碼轉成什么樣你自己是無法控制的,這往往導致無法通過的審查。 本文首發于Array_Huang的技術博客——實用至上,非經作者同意,請勿轉載。原文地址:https://segmentfault.com/a/1190000007030775如果您...
摘要:全網最貼心系列教程和配套代碼歡迎關注個人技術博客。所以我花費了個多月整理了這份教程,一共分成節,每節都有講解,并且準備了配套代碼。奈何深感水平不夠,只有一腔熱情,所以直接開放了教程和源碼。 webpack-demos:全網最貼心 webpack 系列教程和配套代碼 歡迎關注個人技術博客:godbmw.com。每周 1 篇原創技術分享!開源教程(webpack、設計模式)、面試刷題(偏前...
摘要:按照我們的仿真的環境,最終之后的效果應該是打包后的文件不含有樣式類。如果忘記了它的用法,請查看系列教程六處理系列教程五處理所以,我們的文件如下安裝完相關插件后,我們需要在的配置中引用第三部分定義的代碼。 教程所示圖片使用的是 github 倉庫圖片,網速過慢的朋友請移步 原文地址 有空就來看看個人技術小站, 我一直都在 0. 課程介紹和資料 本次課程的代碼目錄(如下圖所示):s...
摘要:按照我們的仿真的環境,最終之后的效果應該是打包后的文件不含有樣式類。如果忘記了它的用法,請查看系列教程六處理系列教程五處理所以,我們的文件如下安裝完相關插件后,我們需要在的配置中引用第三部分定義的代碼。 教程所示圖片使用的是 github 倉庫圖片,網速過慢的朋友請移步 原文地址 有空就來看看個人技術小站, 我一直都在 0. 課程介紹和資料 本次課程的代碼目錄(如下圖所示):s...
閱讀 2959·2023-04-26 01:32
閱讀 1556·2021-09-13 10:37
閱讀 2291·2019-08-30 15:56
閱讀 1682·2019-08-30 14:00
閱讀 3059·2019-08-30 12:44
閱讀 1973·2019-08-26 12:20
閱讀 1071·2019-08-23 16:29
閱讀 3238·2019-08-23 14:44