ES Lint 在 React Natvie 項(xiàng)目的應(yīng)用

RN 項(xiàng)目 使用 ES Lint

1,在開(kāi)始之前,首先看下官網(wǎng)及資料
官網(wǎng):
https://eslint.org/
官方 Getting Started
[https://eslint.org/docs/user-guide/getting-started](https://eslint.org/docs/user- guide/getting-started)
官方規(guī)則說(shuō)明
https://eslint.org/docs/rules/
配置rule 說(shuō)明
https://blog.csdn.net/Cy_Shay/article/details/78217381

2,開(kāi)始我們的工作,安裝Eslint
有兩種安裝方式,全局安裝或本地項(xiàng)目安裝.(推薦 本地項(xiàng)目安裝) 本地項(xiàng)目安裝命令:

npm install eslint --save-dev

3,初始化ES lint , 即執(zhí)行下面指令

    npx eslint --init

然后根據(jù)提示符一步步操作,推薦 airbnb 風(fēng)格的設(shè)置。

開(kāi)始檢查,npx 是指運(yùn)行node_modules下面的指令,我這里指定檢查 ./src/app.js 這個(gè)文件

npx eslint ./src/app.js

如果遇到一些 字符錯(cuò)誤等??梢允褂米詣?dòng)修復(fù)一些空格縮進(jìn)等警告。

npx eslint ./src/app.js -- fix  

4,更多配置
ES Lint 通過(guò)配置文件設(shè)定規(guī)則,我們新建一個(gè) .eslintrc.js,修改如下:
文件: .eslintrc.js

module.exports = {
"extends": "airbnb",
"rules": {
    "import/no-named-as-default": 0,
    "import/no-named-as-default-member":0
  }
};

還有些規(guī)則要設(shè)定,比如箭頭表達(dá)式等的支持。
a) 添加 插件 babel-eslint ,它能讓 ES Lint 識(shí)別ES6語(yǔ)法

yarn add babel-eslint --dev

b) 修改 .eslintrc.js

  "parser": "babel-eslint",

查看報(bào)告。有時(shí)候我們需要查看html文本輸出報(bào)告,使用下面的指令。

./src -o xxxx.eslint.report.html -f html

5, 擴(kuò)展

忽略不檢查某些文件
a) 創(chuàng)建文件

 .eslintignore

b) 示例,在 .eslintignore 文件中添加一個(gè)

  **/node_modules/**

或者 某個(gè)文件關(guān)閉eslint檢查,在文件頭部添加聲明

/* eslint-disable */

某一行js代碼關(guān)閉eslint檢查

// eslint-disable-next-line
alert('e')

增加配置:eslint-plugin-react
a) 執(zhí)行指令

yarn add eslint-plugin-react --dev

b) 配置修改 .eslintrc.js

添加插件 "react" to the plugins section.

{
  "plugins": [
    "react"
  ]
}
啟用 JSX 支持 (    With ESLint 2+ )

{
  "parserOptions": {
    "ecmaFeatures": {
      "jsx": true
    }
  }
}
啟用規(guī)則
Enable the rules that you would like to use.

  "rules": {
    "react/jsx-uses-react": "error",
    "react/jsx-uses-vars": "error",
  }

Prettier插件,Prettier是代碼格式化工具,能夠統(tǒng)一個(gè)人或者團(tuán)隊(duì)的代碼風(fēng)格。


Es Lint 在 Jenkins 下的配置:
Setp 1.配置好 git 拉取源代碼
Setp 2.配置好構(gòu)建時(shí)運(yùn)行shell

# 查看 node 版本
node -v
#安裝 js module
yarn install
# 移除舊的
rm -rf ./build/eslint.report.*.html || true
# 準(zhǔn)備報(bào)告的名稱
cur_dateTime="`date +%Y%m%d%H%m`" 

Setp 3.配置構(gòu)建完后的 歸檔
歸檔: build/eslint.report.*.html

6, 參考:

https://eslint.org/
http://www.itdecent.cn/p/1d66a10466d2
https://blog.csdn.net/Cy_Shay/article/details/78217381
關(guān)于ReactNative如何配置ESLint,Prettier,Pre-commit Hook
https://blog.csdn.net/Ctrl_S/article/details/82633261
這篇文章介紹rule很清晰
http://www.php.cn/js-tutorial-401669.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. eslint、prettier eslintESLint是一個(gè)語(yǔ)法規(guī)則和代碼風(fēng)格的檢查工具,提高代碼質(zhì)量。p...
    boyrt閱讀 6,146評(píng)論 0 7
  • This project was bootstrapped with Create React App. Belo...
    unspecx閱讀 5,311評(píng)論 0 2
  • 佛度海生的隨筆(一) 不為寫(xiě)作而寫(xiě)作,只為記錄,并還原那些觸動(dòng)靈魂的瞬間。 午睡剛起的時(shí)候,總有一種恍如隔世的感覺(jué)...
    海生國(guó)學(xué)智慧閱讀 348評(píng)論 0 3
  • 【精華解讀】 這本《影響力》從影響力武器出發(fā),主要講了三方面的內(nèi)容。 第一方面,講別人是怎么應(yīng)用影響力武器說(shuō)服你的...
    爾朵_b6ba閱讀 284評(píng)論 0 0
  • 第二天,一群人走在去三鑫網(wǎng)吧的路上,一個(gè)個(gè)都陰沉著臉在一看不是別人正是VC戰(zhàn)隊(duì)的成員。 要問(wèn)他們是怎么同意參加的,...
    央俊公子閱讀 371評(píng)論 0 2

友情鏈接更多精彩內(nèi)容