愛康雲前端專案結構和開發規範

2021-10-23 11:08:34 字數 2936 閱讀 6123

前端專案

目前愛康雲的前端移動端的h5專案有7個,分別為

公共包引入方式

之前使用的是npm link,但npm link後本地package.json裡沒有記錄,無法直觀的檢視本地包的引用。

這裡採用npm install本地包的引用方式。指令如下:

npm install .

./ak-commonjs/

命令執行完後,package.json裡會多一條記錄

"dependencies"

:,

也可以在package.json裡加上"ak-commonjs": 「file:…/ak-commonjs」 這一行再執行npm install命令。當然,公共包需要和引入包在同乙個目錄下

包依賴結構

除開第三方ui元件vant,計畫重構時建立五個公共包,其中公共元件包含了工具js,和業務無關的公共元件,登入模組,聊天包,患者公共包和醫生公共包。目的是乾掉重複**,不同產品線的相同功能不再複製貼上

**規範

所有專案使用統一的eslint的標準配置作為基礎。

個性化配置寫在package.json中,暫定以下幾條。

"rules"

:

所有專案**要保證沒有eslint警告,再提交到git。(暫時所有eslint配置複製貼上到各專案,後續想辦法eslint規則只寫一處,各專案和公共包引用。)

其他編碼規範:

不要編寫大段**,乙個函式內容太大,拆分成多個函式

重複**封裝成函式,函式留下可擴充套件的空間

重複元件提取到公共包中,元件的個性化配置暴露出來,元件留下可擴充套件空間

複雜程式邏輯,複雜業務邏輯,高階寫法,多級函式引用,請寫好注釋

另外,為避免大家**一鍵格式化後不一樣,在idea的setting裡下圖的do not indent children of處增加 script 和 style

css規範

定義與業務無關的公共css檔案

vue頁面和元件的樣式寫在當前頁面內

相同業務邏輯的頁面的樣式可以提取到css檔案內,放在當前目錄下

不同業務邏輯的頁面禁止相互引用css樣式檔案

css因不同頁面邏輯不同、改動頻繁,難復用,應遵循單獨使用,少繼承的原則

專案包結構規範

使用vue cli3建立專案,包目錄如下

公共包結構規範

公共包刪除一切無用的檔案和配置,精簡專案結構,其中components裡寫公共元件。tests存放單元測試檔案,必須完成公共元件需要單元測試

package.json裡指定入口檔案為index.js

"main"

:"index.js"

,

在index裡export元件

import wevue from

'we-vue'

import vue from

'vue'

import playerpicker from

'./src/components/player/playerpicker'

vue.

use(wevue)

export

git commit 規範

commit需寫好注釋,並標註是功能開發還是bug修復

開發階段(本周四到下周五)的commit需提交到dev和test兩個分支,先提交到dev,再切換到test,cherrypick當次提交

測試階段(下下周一到下下週三),可直接在test分支上修改bug,提交到test分支上,週三上線後,將test分支合併到dev分支

當前版本不上線的功能只能提交到dev分支,不需cherrypick到test分支上。

單元測試測什麼

首先乙個問題,單元測試需要測什麼?

以下引用自vue-test-utils官網

對於 ui 元件來說,我們不推薦一味追求行級覆蓋率,因為它會導致我們過分關注元件的內部實現細節,從而導致瑣碎的測試。

取而代之的是,我們推薦把測試撰寫為斷言你的元件的公共介面,並在乙個黑盒內部處理它。乙個簡單的測試用例將會斷言一些輸入 (使用者的互動或

prop 的改變) 提供給某元件之後是否導致預期結果 (渲染結果或觸發自定義事件)。

也就是說我們需要測試的是輸入和輸出。根據不同的輸入得到不同的輸出,看是否滿足預期結果。盡可能覆蓋所有不同的輸入情況,但不需要去關注元件的內部實現細節。那麼該測試什麼的輸入和輸出呢?

公共元件,在component資料夾中的所有

有複雜邏輯js函式,工具類等

單元測試規範

待補充新專案cli

搭建好建立新專案的模板,一鍵建立立即可用的新專案。

待補充

專案中最實用的前端開發規範

前端的開發規範其實不需要定的太細,掌握好原則即可,依據這些原則,再去根據專案制定具體的要求,就可形成相關文件。比如,定好主題顏色後即可根據主題確定具體的顏色 字型 邊框 邊距 圖示等。根據之前做過的專案,我總結了20條原則,作為後期前端開發規範,無法面面俱到,僅供參考。1 必須使用構建工具,堅持前後...

微信小程式開發規範文件 專案結構

專案結構 project 根目錄 images 小圖示 pages pages目錄 utils 工具,包檔案目錄 project.config.json 專案的編輯器配置頁面目錄 1.由歷史原因和個人習慣導致目錄命名不統一,語義不清晰,不同成員在維護時難以快速識別。示例 錯誤的寫法 pages ab...

IOS專案目錄結構和開發流程

的部落格網上相關的資源不多,開源的且質量還不錯的ios專案也是少之又少,最近正好跟同事合作了乙個ios專案,來說說自己的一些想法。目錄結構 models macro general helpers vendors sections resources 乙個合理的目錄結構首先應該是清晰的,讓人一眼看上...