孔明前端團隊React項目新手指南

jopen 9年前發布 | 19K 次閱讀 React

 

對于程序員而言:駝峰和下劃線之間是一場宗派戰爭;大括號是否換行會成為一種黨派;逗號寫在行尾還是行首的人來自不同星球……

然而,無規矩不成方圓,任何一個團隊,要想有高質量的產出,第一步必須要對一些基本的代碼風格達成共識,否則用不了多長時間,你就會發現沒人愿意維護某些代碼了,因為那些代碼散發出半年以上沒沖過的馬桶的味道,而更可怕的是團隊成員之間的沖突和內耗會遠超你的想象。

好了,言歸正傳,我們進入正題:

首選開發工具WebStorm

工欲善其事必先利其器,對于程序員而言,一款趁手的編輯器將像屠龍寶刀一樣珍貴,許多程序員終其一生都在追尋更好的硬件、軟件、工作流程等。作為前端團隊,我們強烈推薦使用 WebStorm 。大體上,它長這樣:

孔明前端團隊React項目新手指南

關于怎么下載,怎么安裝,以及其他類似問題請自行Google。

新建項目

Talk is cheap. Show me the code. 好了,廢話少說,我們趕緊上代碼:

孔明前端團隊React項目新手指南

是的,我們的教程并不是手把手的,按上圖操作后將彈出輸入框,填入你所得到的git倉庫地址,并按照個人喜好選擇路徑和命名后 WebStorm 將會自動拉取我們最新的項目代碼。

初始設置

因為我們使用了最新最潮的ES6語法,并借助了 React.js 來開發這個項目,所以我們需要進行一些小設置來保證 WebStorm 能夠正常識別我們所寫的代碼。

孔明前端團隊React項目新手指南

按上圖所示進入設置面板:

孔明前端團隊React項目新手指南

在 Languages & Frameworks > JavaScript 條目下開啟JSX語法支持,并勾選 "Prefer Strict mode" 以啟用嚴格模式。

孔明前端團隊React項目新手指南 展開 JavaScript > Libraries ,勾選 ES6 語法支持。

孔明前端團隊React項目新手指南 我們使用ESlint來檢查基本的語法錯誤,請繼續展開 "JavaScript > Libraries > Code Quality Tools > ESLint" 菜單啟用 ESLint。 ESLint 規則以 airbnb 為基礎,考慮到中國國情以及團隊習慣,我們進行了部分細節調整:

{
  "extends": "airbnb",
  "rules": {
    "comma-dangle": [1, "never"], // 不對數組或對象末尾逗號做強制要求
    "spaced-comment": [0, "always"], // 不對注釋前的空格做強制要求
    "func-names": 0 // 允許使用匿名函數
  }
}

其他完全沿用airbnb,詳見 https://github.com/airbnb/javascript

代碼風格設置

為了讓編輯器產生的代碼能夠順利通過ESLint的校驗,我們在airbnb開源的基礎上定制了自己的代碼風格: 孔明前端團隊React項目新手指南 在 "Editor > Code Style" 菜單中點擊 "Manage..." 按鈕;

孔明前端團隊React項目新手指南

在彈出來的對話框里選擇 "Import..."

孔明前端團隊React項目新手指南

點擊確定后會出現文件選擇對話框,選擇本項目根目錄下的 .jscsrc 文件

孔明前端團隊React項目新手指南

建議命名為KM,以便和其他代碼風格區分。 本代碼風格總體依然沿用 airbnb ,同樣對部分細節做了調整:

 
{
  "preset": "airbnb",
  "excludeFiles": [
    "dist/**", "node_modules/**", "webpack*", "styleguide.js"
  ],
  "requirePaddingNewLinesBeforeLineComments": null, // 不強制注釋前空行
  "requireTrailingComma": null, // 不強制要求末尾逗號
  "validateQuoteMarks": null, // 字符串單引號,React 屬性雙引號
  "validateIndentation": {
    "value": 2,
    "allExcept": [
      "comments" // 忽略注釋中的縮進
    ]
  },
  "maximumLineLength": {
    "value": 80, // 單行最長80個字符,注釋除外
    "allExcept": [
      "comments", "urlComments", "functionSignature"
    ]
  },
  "requirePaddingNewLinesAfterBlocks": null,// 區塊之間不強制空行
  "disallowEmptyBlocks": {
    "allExcept": "comments" // 不把注釋當成空處理
  }
}

調整后規則的直觀體現見 styleguide.html

快速啟動

  1. 首先請確保你已經安裝好了 node 和 npm,建議使用 iojs/2.5.0 并配置國內源

  2. 進入工作目錄新建分支 孔明前端團隊React項目新手指南 孔明前端團隊React項目新手指南 請盡量以本次需要開發的功能或解決的問題進行分支命名,我們提倡使用 GitHub Flow 進行分支管理。

  3. 點擊編輯器底部的 'Terminal'面板,并輸入 npm i && npm start 后回車 孔明前端團隊React項目新手指南 當顯示 webpack: bundle is now VALID. 字樣時表示已經正常啟動 孔明前端團隊React項目新手指南

4.建議使用Chrome瀏覽器,訪問 http://localhost:8000/ 即可。

5.修改JS文件,瀏覽器內容將自動發生變化(頁面不會整體刷新)

目錄結構

[./]
  | -- .editorconfig #編輯器配置,聲明縮進方式
  | -- .eslintignore #ESLint忽略名單
  | -- .eslintrc #ESLint配置
  | -- .gitignore # Git忽略名單
  | -- .jscsrc #JavaScript Code Style 配置
  | -- README.md
  | -- [css]
  |     | -- index.styl
  | -- [dist] #打包后目錄
  |     | -- daefde64ebc9619286d8.js
  |     | -- fb5456ea68c860c4a4c93c71b1142220.css
  |     | -- index.html
  | -- [docs] #說明文檔
  |     | -- [img]
  |     | -- styleguide.html
  | -- [js]
  |     | -- app-router.js
  |     | -- [components] # 組件
  |     |     | -- dashboard.js
  |     |     | -- login.js
  |     |     | -- main.js
  |     | -- index.js
  |     | -- [utils] # 各種輔助小工具
  |     |     | -- ajax.js
  |     |     | -- auth.js
  | -- package.json
  | -- server.js # 開發調試用
  | -- webpack.config.develop.js # 開發環境配置
  | -- webpack.config.js # 通用配置
  | -- webpack.config.production.js # 生產環境配置

我們還缺人

是的,這篇文章是面向新手的,盡量保證通俗易懂,看圖說話。所以年輕人,不要怕,我們這里有耐心的老師傅一步一步慢慢教你。對于經驗豐富的老師傅我們當然也歡迎。

  1. 我們是一家工程師文化濃郁的科技公司(兩位老板都是程序員出身)
  2. 我們比大多數地方更尊重和敬畏工程師的價值(薪酬絕對讓你心動)
  3. 我們周末正常雙休、不無意義加班、不搞996,我們相信金字塔絕對不是奴隸建造的
  4. 我們有補充醫療(含親子),公司有多位幸福奶爸
  5. 每年一次集體出國旅游,每月一次集體腐敗,不定期爬山、騎馬什么的
  6. 我們連卷筒紙都是公司免費提供的!
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!