vue規(guī)范

vue官方風(fēng)格指南
ESLint官方網(wǎng)站

vue 2.x 常規(guī)項(xiàng)目目錄

|— build       構(gòu)建腳本目錄 
    |— build.js      生產(chǎn)環(huán)境構(gòu)建(編譯打包)腳本 
    |— check-versions.js   版本驗(yàn)證工具 
    |— utils.js      構(gòu)建相關(guān)工具方法
    |— vue-loader.conf.js   處理vue中的樣式 
    |— webpack.base.conf.js   webpack基礎(chǔ)配置 
    |— webpack.dev.conf.js   webpack開(kāi)發(fā)環(huán)境配置 
    |— webapck.prod.conf.js   webpack生產(chǎn)環(huán)境配置
|— config     項(xiàng)目配置 
    |— dev.env.js   開(kāi)發(fā)環(huán)境變量 
    |— index.js    主配置文件 
    |— prod.env.js   生產(chǎn)環(huán)境變量 
    |— test.env.js   測(cè)試環(huán)境變量
|— node_modules    依賴模塊
|— mock      mock數(shù)據(jù)目錄,用于本地?cái)?shù)據(jù)模擬
|— src      源碼目錄 
    |— assets    資源目錄连舍,資源會(huì)被webpack構(gòu)建     
    |— js    公共js文件目錄     
    |— css    公共樣式文件目錄     
    |— images   圖片存放目錄 
    |— components   公共組件目錄  
    |— api     接口模塊
    |— utils   工具文件夾
    App.vue    根組件 
    main.js    入口js文件 
    |— routers    前端路由目錄     
        index.js 
    |— views/pages     前端頁(yè)面文件 
    |— store     應(yīng)用級(jí)數(shù)據(jù)管理  
        |— index.js/store.js      組裝模塊并導(dǎo)出,統(tǒng)一管理導(dǎo)出
        |— state.js    單一狀態(tài)樹(shù),定義應(yīng)用數(shù)據(jù)結(jié)構(gòu)及初始化狀態(tài)  
        |— getters.js   獲取state中的狀態(tài)望众,僅單向獲取數(shù)據(jù),不做任何修改  
        |— actions.js   調(diào)用mutation方法對(duì)數(shù)據(jù)進(jìn)行操作   
        |— types.js 存放vuex常用的變量  
        |— mutations.js   定義state數(shù)據(jù)的修改操作
|— static 純靜態(tài)資源伞辛,不會(huì)被webpack構(gòu)建
|— test      測(cè)試
|— unit      單元測(cè)試
|— e2e       e2e測(cè)試
.babelrc     babel的配置文件
.editorconfig   編輯器的配置文件
.gitignore    git的忽略配置文件
.postcssrc.js   postcss的配置文件
index.html    html模板烂翰,入口頁(yè)面
package.json    npm包配置文件,依賴包信息
vue.config.js  vue配置文件
README.md     項(xiàng)目介紹

規(guī)范

項(xiàng)目命名

  • 采用小寫(xiě)方式蚤氏,短橫線分隔甘耿,eg:project-name

文件夾命名

  • 采用小寫(xiě)方式,若為復(fù)數(shù)形式竿滨,則加s佳恬。 eg:imgsstyles

變量命名于游、函數(shù)命名

  • 使用es6風(fēng)格編碼,eg:定義變量用let,定義常量用const, 箭頭函數(shù)等
  • 小駝峰式命名法毁葱,變量eg:myName ,方法eg: getList
  • 請(qǐng)求接口數(shù)據(jù)方法,可以用Data結(jié)尾贰剥,eg:getFormData倾剿、getListData
  • 盡量在每個(gè)方法前都添加注釋

組件命名

  • 單文件組件書(shū)寫(xiě)順序?yàn)?code>template,script,style
  • 大駝峰式命名法,2-3個(gè)單詞組合蚌成,根組件App(與之區(qū)分)前痘。eg:TodoListTodoItem担忧。使用時(shí)為 <todo-list></todo-list>
  • 組件內(nèi)部文件夾包含:子組件文件夾childs芹缔、樣式文件style、靜態(tài)資源文件resources瓶盛。目錄結(jié)構(gòu):
|-- demo   文件夾
    |-- resources
    |-- childs
    |-- style
    |-- Demo.vue

props 命名

命名使用小駝峰式命名法最欠,使用時(shí)用-連接

樣式類(lèi)命名

  • 采用小寫(xiě)方式,短橫線分隔惩猫,eg:xxx-xxx芝硬,和變量進(jìn)行區(qū)分
  • 單個(gè)組件樣式寫(xiě)在scoped
  • scoped中,盡量使用類(lèi)選擇器帆锋,少使用元素選擇器
  • 盡量避免使用中文拼音吵取,用語(yǔ)義話英文單詞組合,做到見(jiàn)字知意
  • 字體粗細(xì)規(guī)定統(tǒng)一值锯厢,eg:normal/bold/bolder分別設(shè)置成400皮官、600脯倒、800

注釋

單行: //
多行: /** */

template style注釋

對(duì)每個(gè)功能區(qū)做注釋

圖片命名

  • 列表圖片,可按照列表索引命名
  • 圖標(biāo)圖片捺氢,用項(xiàng)目名縮寫(xiě)-icon-

指令統(tǒng)一

規(guī)則:要么統(tǒng)一縮寫(xiě)藻丢,要么不統(tǒng)一。
縮寫(xiě)(:表示v-binid摄乒,@表示v-on):

<input v-bind:value="123" v-on:blur="handleInput" >

不縮寫(xiě)

<input :value="123" @blur="handleInput">

路由

路由對(duì)象至少需要三部分:path悠反、namecomponent
path: 使用大駝峰式命名法

// 統(tǒng)一使用AMD規(guī)范的require或者es6的import 引入路由文件
{
    path: "/RoutePath",
    component: ()=> import("")
    // component: ()=> require("")
    name: "路由名稱"
}

vuex

  • mutations數(shù)據(jù)同步處理
  • actions數(shù)據(jù)異步處理
  • 組件提交同步處理數(shù)據(jù) this.$store.commit("xxx",xxx)
  • 組件異步處理數(shù)據(jù) this.$store.dispatch("xxx",xxx)

框架選擇

pc: Element UI馍佑、iView
移動(dòng)端:mint-ui斋否、vant

css 預(yù)處理器

Less、Sass拭荤、Stylus
建議時(shí)用less,輕量茵臭,滿足大部分場(chǎng)景。

web字體

可使用Font Awesome舅世、 Iconfont代替圖片

其他

  • 不同瀏覽器樣式標(biāo)準(zhǔn)不用旦委,造成瀏覽器樣式差異,有些第三方ui也會(huì)對(duì)默認(rèn)樣式進(jìn)行修改雏亚,要進(jìn)行reset.css的引入缨硝。
  • 函數(shù)全局問(wèn)題: 可使用that = this,解決this指向問(wèn)題。
  • v-for要設(shè)置key值罢低,避免與v-if連用查辩,可使用v-show
  • 特殊狀態(tài)下奕短,可以設(shè)置ref,用this.$refs.xxx宜肉,操作dom匀钧。
  • 樣式值為0時(shí)翎碑,省略單位;為0.開(kāi)頭小數(shù)時(shí)之斯,可省略0日杈。eg
padding: 0px;
opacity: 0.5;

// 可改為
padding: 0;
opacity: .5;
  • 對(duì)于一組固定的圖片或圖標(biāo),可以適當(dāng)?shù)母鶕?jù)情況使用雪碧圖
  • 接口請(qǐng)求返回?cái)?shù)據(jù)統(tǒng)一為:response
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末佑刷,一起剝皮案震驚了整個(gè)濱河市莉擒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌瘫絮,老刑警劉巖涨冀,帶你破解...
    沈念sama閱讀 216,692評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異麦萤,居然都是意外死亡鹿鳖,警方通過(guò)查閱死者的電腦和手機(jī)扁眯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)翅帜,“玉大人姻檀,你說(shuō)我怎么就攤上這事±缘危” “怎么了绣版?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,995評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)歼疮。 經(jīng)常有香客問(wèn)我杂抽,道長(zhǎng)央串,這世上最難降的妖魔是什么扔亥? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,223評(píng)論 1 292
  • 正文 為了忘掉前任寸莫,我火速辦了婚禮锐朴,結(jié)果婚禮上声功,老公的妹妹穿的比我還像新娘愿卸。我一直安慰自己埠啃,他們只是感情好瑟由,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,245評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布济竹。 她就那樣靜靜地躺著痕檬,像睡著了一般。 火紅的嫁衣襯著肌膚如雪送浊。 梳的紋絲不亂的頭發(fā)上梦谜,一...
    開(kāi)封第一講書(shū)人閱讀 51,208評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音袭景,去河邊找鬼唁桩。 笑死,一個(gè)胖子當(dāng)著我的面吹牛耸棒,可吹牛的內(nèi)容都是我干的荒澡。 我是一名探鬼主播,決...
    沈念sama閱讀 40,091評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼与殃,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼单山!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起幅疼,我...
    開(kāi)封第一講書(shū)人閱讀 38,929評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤米奸,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后爽篷,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體悴晰,經(jīng)...
    沈念sama閱讀 45,346評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,570評(píng)論 2 333
  • 正文 我和宋清朗相戀三年逐工,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了铡溪。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片一睁。...
    茶點(diǎn)故事閱讀 39,739評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖佃却,靈堂內(nèi)的尸體忽然破棺而出者吁,到底是詐尸還是另有隱情,我是刑警寧澤饲帅,帶...
    沈念sama閱讀 35,437評(píng)論 5 344
  • 正文 年R本政府宣布复凳,位于F島的核電站,受9級(jí)特大地震影響灶泵,放射性物質(zhì)發(fā)生泄漏育八。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,037評(píng)論 3 326
  • 文/蒙蒙 一赦邻、第九天 我趴在偏房一處隱蔽的房頂上張望髓棋。 院中可真熱鬧,春花似錦惶洲、人聲如沸按声。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,677評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)签则。三九已至,卻和暖如春铐料,著一層夾襖步出監(jiān)牢的瞬間渐裂,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,833評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工钠惩, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留柒凉,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,760評(píng)論 2 369
  • 正文 我出身青樓篓跛,卻偏偏與公主長(zhǎng)得像膝捞,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子举塔,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,647評(píng)論 2 354