Vue前端開發(fā)規(guī)范

引用自:
vue官方荔泳、
騰訊全端AlloyTeam 團隊

1 環(huán)境

1.1 代碼工具

推薦VSCode蕉饼、webstorm、sublime玛歌、Atom
統(tǒng)一開發(fā)昧港,盡量使用VSCode,輕量支子、插件多创肥,免費

1.2 工具插件(VSCode)

Vue開發(fā)插件:eslintHTML CSS Support值朋、HTML Snippets叹侄、Live ServerVetur昨登、Vue VSCode Snippets

1.3 VSCode設(shè)置

保存時自動按照eslint規(guī)則格式化代碼

{
     "eslint.validate": [{
      "language": "vue",
      "autoFix": true
    },
    {
      "language": "html",
      "autoFix": true
    },
    {
      "language": "javascript",
      "autoFix": true
    }
  ],
  "eslint.autoFixOnSave": true,
}

2 命名

2.1 項目命名

全部采用小寫方式趾代, 以下劃線分隔。 例:my_project_name

2.2 目錄(文件夾)命名

參照項目命名規(guī)則篙骡;
有復(fù)數(shù)結(jié)構(gòu)時稽坤,要采用復(fù)數(shù)命名法。
例:scripts糯俗、styles尿褪、imagesdata_models

image

2.2 文件命名

2.2.1 components

組件命名使用大駝峰(KebabCase)TodoItem.vue

2.2.2 views(pages)

頁面命名使用連接符(kebab-case)user-info.vue
如果views下的文件件只有一個文件,命名使用index.vue

│── views
│   └── user_info       
│         ├── index.vue

引用例子:
// 引用到  文件夾 + '/'即可
import("../views/user_info/")

2.2.3 JS文件命名

名使用分隔符線resize-event.js

如果為單個單詞得湘,使用小寫md5.js

2.2.3 CSS, SCSS文件命名

  • css使用下劃線
jdc.scss
jdc_list.scss
jdc_detail.scss
  • scss使用下劃線開頭,
    @import 引入的文件不需要開頭的'_'和結(jié)尾的'.scss'杖玲;
/* not good */
@import "_dialog.scss";

/* good */
@import "dialog";

2.2.4 HTML文件命名

使用下劃線

jdc.html
jdc_list.html
jdc_detail.html

2.3 組件

  • 組件名為多個單詞 (這樣做可以避免跟現(xiàn)有的以及未來的 HTML 元素相沖突,因為所有的 HTML 元素名稱都是單個單詞的淘正。)
  • 組件使用大駝峰
export default {
  name: 'TodoItem',
  // ...
}

Vue.component('todo-item', {
  // ...
})
  • 基礎(chǔ)組件名 應(yīng)用特定樣式和約定的基礎(chǔ)組件(也就是展示類的摆马、無邏輯的或無狀態(tài)的組件) 應(yīng)該全部以一個特定的前綴開頭,比如 Base鸿吆、AppV囤采。
components/
|- BaseButton.vue
|- BaseTable.vue
|- BaseIcon.vue


components/
|- AppButton.vue
|- AppTable.vue
|- AppIcon.vue

components/
|- VButton.vue
|- VTable.vue
|- VIcon.vue
  • 單例組件名 只應(yīng)該擁有單個活躍實例的組件應(yīng)該以 The 前綴命名,以示其唯一性惩淳。
components/
|- TheHeading.vue
|- TheSidebar.vue
  • 緊密耦合的組件名 和父組件緊密耦合的子組件應(yīng)該以父組件名作為前綴命名蕉毯。
components/
|- TodoList.vue
|- TodoListItem.vue
|- TodoListItemButton.vue

components/
|- SearchSidebar.vue
|- SearchSidebarNavigation.vue
  • 組件名中的單詞順序
components/
|- SearchButtonClear.vue
|- SearchButtonRun.vue
|- SearchInputQuery.vue
|- SearchInputExcludeGlob.vue
|- SettingsCheckboxTerms.vue
|- SettingsCheckboxLaunchOnStartup.vue
  • 模板中的組件名大小寫 對于絕大多數(shù)項目來說,在單文件組件和字符串模板中組件名應(yīng)該總是 PascalCase 的——但是在 DOM 模板中總是 kebab-case 的思犁。
<!-- 在單文件組件和字符串模板中 -->
<MyComponent/>

<!-- 在 DOM 模板中 -->
<my-component></my-component>

或者
<!-- 在所有地方 -->
<my-component></my-component>
  • 完整單詞的組件名
components/
|- StudentDashboardSettings.vue
|- UserProfileOptions.vue
  • Prop 名大小寫 在聲明 prop 的時候代虾,其命名應(yīng)該始終使用 camelCase,而在模板和 JSX 中應(yīng)該始終使用 kebab-case激蹲。
props: {
  greetingText: String
}

<WelcomeMessage greeting-text="hi"/>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末棉磨,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子学辱,更是在濱河造成了極大的恐慌乘瓤,老刑警劉巖环形,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異馅扣,居然都是意外死亡斟赚,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進店門差油,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拗军,“玉大人,你說我怎么就攤上這事蓄喇》⑶郑” “怎么了?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵妆偏,是天一觀的道長刃鳄。 經(jīng)常有香客問我,道長钱骂,這世上最難降的妖魔是什么叔锐? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮见秽,結(jié)果婚禮上愉烙,老公的妹妹穿的比我還像新娘。我一直安慰自己解取,他們只是感情好步责,可當我...
    茶點故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著禀苦,像睡著了一般蔓肯。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上振乏,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天蔗包,我揣著相機與錄音,去河邊找鬼慧邮。 笑死气忠,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的赋咽。 我是一名探鬼主播,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼吨娜,長吁一口氣:“原來是場噩夢啊……” “哼脓匿!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起宦赠,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤陪毡,失蹤者是張志新(化名)和其女友劉穎米母,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體毡琉,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡铁瞒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了桅滋。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片慧耍。...
    茶點故事閱讀 39,739評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖丐谋,靈堂內(nèi)的尸體忽然破棺而出芍碧,到底是詐尸還是另有隱情,我是刑警寧澤号俐,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布泌豆,位于F島的核電站,受9級特大地震影響吏饿,放射性物質(zhì)發(fā)生泄漏踪危。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一猪落、第九天 我趴在偏房一處隱蔽的房頂上張望贞远。 院中可真熱鬧,春花似錦许布、人聲如沸兴革。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽杂曲。三九已至,卻和暖如春袁余,著一層夾襖步出監(jiān)牢的瞬間擎勘,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工颖榜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留棚饵,地道東北人。 一個月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓掩完,卻偏偏與公主長得像噪漾,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子且蓬,可洞房花燭夜當晚...
    茶點故事閱讀 44,647評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 命名編碼規(guī)范 駝峰式命名法介紹 -Pascal Case 大駝峰式命名法:首字母大寫欣硼。eg:StudentInfo...
    莫言默言閱讀 3,792評論 0 5
  • 一、命名規(guī)范 1恶阴、文件命名 文件夾/文件的命名統(tǒng)一用小寫诈胜,使用短橫線命名 (kebab-case)豹障,包括js、cs...
    taomas閱讀 3,988評論 0 2
  • 這里是官方的 Vue 特有代碼的風(fēng)格指南焦匈。如果在工程中使用 Vue血公,為了回避錯誤、小糾結(jié)和反模式缓熟,該指南是份不錯的...
    youins閱讀 5,737評論 0 5
  • 前幾日聽到一句生猛與激勵并存累魔,可怕與尷尬同在,最無奈也無解的話:“90后荚虚,你的中年危機已經(jīng)殺到”薛夜。這令我很受觸動吮播。...
    王鈺峰閱讀 4,383評論 1 22
  • 此文基于官方文檔恨课,里面部分例子有改動娇澎,加上了一些自己的理解 什么是組件耳幢? 組件(Component)是 Vue.j...
    陸志均閱讀 3,825評論 5 14