前端工作流實(shí)戰(zhàn)

今天的命題是憋沿,制作幾個(gè)到幾十個(gè)基于Bootstrap的頁面模板,然后交給后端程序員沪猴,也就是說辐啄,我要做的并不是業(yè)內(nèi)討論最多的全棧開發(fā)甥绿,而是只負(fù)責(zé)給后端程序員提供網(wǎng)頁代碼。

基礎(chǔ)知識(shí)

一般網(wǎng)站往往架構(gòu)在后端MVC框架中则披,由后端程序猿做主導(dǎo),所以:

1洗出、前端程序猿要對后端MVC框架有基本的了解士复,尤其是MVC中的V。
2翩活、懂得V之后阱洪,就要掌握模板引擎的規(guī)則。前端模板引擎跟后端模板引擎很相似菠镇,做一些字符替換就可以將前端引擎的代碼段改成后端引擎的冗荸。

我在參考了一些簡單項(xiàng)目的前端工作流之后,搞了這么一個(gè)簡單的前端工作流利耍。

項(xiàng)目目錄

項(xiàng)目目錄的設(shè)定可謂眾說紛紜蚌本,各有各的設(shè)定方案,比如靜態(tài)目錄的命名隘梨,有人用public程癌,有人用static……我認(rèn)為沒必要太糾結(jié),原因是轴猎,你作為前端開發(fā)者嵌莉,你的項(xiàng)目目錄是要先跟后端程序猿協(xié)商的,后端開發(fā)者有他的一整套目錄設(shè)定方式捻脖,他設(shè)定的目錄結(jié)構(gòu)才是真正在服務(wù)器上體現(xiàn)的目錄結(jié)構(gòu)锐峭,所以,前端項(xiàng)目的目錄設(shè)定原則可婶,是為了讓自己方便開發(fā)沿癞,也為了方便的傳到測試服務(wù)器的指定目錄中。

再簡單點(diǎn)說扰肌,前端項(xiàng)目的目錄結(jié)構(gòu)抛寝,只要能保證前端開發(fā)者以最一目了然、最高效的方式做開發(fā)曙旭,上傳到測試服務(wù)器可以直接用盗舰,就可以了。

基于上述的原則桂躏,我把項(xiàng)目目錄分為7個(gè)子目錄:

api:模擬網(wǎng)站API钻趋。
media:內(nèi)容視頻、內(nèi)容音頻剂习。
img:網(wǎng)站所用的內(nèi)容圖片蛮位。
libs:js庫和css庫较沪。
work:工作目錄,所有需要編寫的模板(利用gulp-include組合HTML代碼)失仁、html尸曼、js和css都在里面。
build:構(gòu)建目錄也是測試目錄萄焦,用于本地預(yù)覽和測試控轿,測試通過的話,就生成dist目錄里的內(nèi)容
dist:交付目錄拂封,build跟dist的區(qū)別是茬射,build的css和js文件都沒有合并,更沒有壓縮冒签,html文件也沒有壓縮在抛,而dist的所有文件都經(jīng)過了合并、壓縮萧恕,并且還有一些其他的后置處理措施刚梭,比如后端會(huì)讓你把合并起來的HTML再拆開,因?yàn)槟愕腍TML只是后端MVC的V廊鸥,V是需要拆成各種模塊的望浩,而且后端還會(huì)對模板做一些修改,比如加入各種模板標(biāo)簽惰说,這些都應(yīng)該由后端跟前端商議好磨德,由前端利用gulp完成。

方案的制定原則是:

1吆视、保證工作目錄典挑、開發(fā)目錄和上線目錄的內(nèi)容盡可能的簡單。因?yàn)閔tml/tpl/js/css是最常編輯的文件啦吧,而內(nèi)容圖片您觉、API很少修改,庫授滓、字體更是不會(huì)修改琳水,所以都應(yīng)該擇出來。
2般堆、img文件夾內(nèi)存放內(nèi)容圖片在孝,它不用編輯,所以擇出來淮摔。但是注意私沮,它需要一個(gè)監(jiān)視器來監(jiān)視文件的添加,一旦有添加和橙,就自動(dòng)壓縮體積仔燕,然后覆蓋源圖造垛。
3、libs文件夾的定位是:存放js庫和css庫以及字體庫晰搀。
4五辽、api文件夾的定位是:開發(fā)的時(shí)候使用,上線不用外恕,所以單獨(dú)存放奔脐。
5、media文件夾:存放視頻和音頻吁讨。如果你確定你的項(xiàng)目絕沒有可能用到音頻和視頻,那么這個(gè)文件夾可以取消峦朗。

.
│  
├─api 模擬網(wǎng)站API建丧,存放各種json文件
├─dist 略過
├─build
│  ├─css 由scss編譯的css
│  │  ├─global 全站共用css以及bg
│  │  └─index 單頁使用css以及bg
│  ├─html
│  │      index.html 單頁
│  │      
│  └─js
│      ├─global 全站共用js
│      └─index 單頁使用js
├─img 內(nèi)容圖片
├─libs js庫和css庫以及字體庫
├─media 視頻和音頻
└─work
    ├─scss
    │  ├─global 全站共用scss以及bg
    │  └─index 單頁使用scss以及bg
    ├─html
    │      index.html 單頁
    │      
    ├─js
    │  ├─global 全站共用js
    │  └─index 單頁使用js
    └─tpl
        ├─global 全站共用tpl
        └─index 單頁使用tpl

技術(shù)選型

只兼容IE8和以上,特選型如下:

Bootstrap 3最新版 + 插件
jQuery 1版本 + jQuery插件 + 第三方庫
gulp
SASS

基本文件準(zhǔn)備

api

留空

dist

留空波势,本文不涉及上線環(huán)節(jié)

build

可以留空翎朱,依賴gulp創(chuàng)建文件夾和文件

libs

js庫和css庫按照項(xiàng)目名建立文件夾,不要在路徑中包含版本號尺铣。版本號的更新方式是以新版本文件覆蓋老文件拴曲,然后HTML中修改路徑的版本號參數(shù)。

字庫凛忿,比如glyphicons-halflings和Font Awesome澈灼,都跟隨同名css庫存放,如果有其他字庫店溢,比如fa和阿里的iconfont叁熔,也當(dāng)做css庫存放進(jìn)來。

work

html

將一個(gè)html骨架文件放到html目錄床牧,命名為index.html

tpl

1荣回、建立global文件夾,放共用的tpl區(qū)塊文件
2戈咳、建立index文件夾心软,放index.html相關(guān)的tpl區(qū)塊文件

scss

1、建立global文件夾著蛙,放共用的區(qū)塊用的css文件
2删铃、建立index文件夾,放index.html相關(guān)的區(qū)塊用的css文件

js

1册踩、建立global文件夾泳姐,放共用的區(qū)塊用的js文件
2、建立index文件夾暂吉,放index.html相關(guān)的區(qū)塊用的js文件

img

1胖秒、建立global文件夾缎患,放共用的區(qū)塊用的img文件
2、建立index文件夾阎肝,放index.html相關(guān)的區(qū)塊用的img文件

media

如果全站總共需要幾個(gè)或少于50個(gè)media文件挤渔,那么沒必要分文件夾。如果有幾百個(gè)风题,需要按下面的方式建立文件夾判导。
1、建立global文件夾沛硅,放共用的區(qū)塊用的media文件
2眼刃、建立index文件夾,放index.html相關(guān)的區(qū)塊用的media文件

處理Bootstrap

把Bootstrap 3.3.7-sass的源代碼下載下來之后我們看一下摇肌。

js源文件:/assets/javascripts/
scss源文件:/assets/stylesheets/

把放到下面對應(yīng)的文件夾里擂红。

bootstrap
│  
├─jssrc
├─scss

然后把bootstrap放到libs文件夾中。

Bootstrap的特殊之處是它是我們項(xiàng)目里唯一的需要定制然后編譯的庫围小,其他的庫都無需修改昵骤。所以,未來定制好bs之后肯适,要把編譯好的css文件变秦、js文件也放到bootstrap文件夾里,也就是:

bootstrap
│  
├─css
│      bootstrap.css
│      bootstrap.css.map
│      bootstrap.min.css
│      bootstrap.min.css.map
│      bootstrap-flex.css
│      bootstrap-flex.css.map
│      bootstrap-flex.min.css
│      bootstrap-flex.min.css.map
│      bootstrap-grid.css
│      bootstrap-grid.css.map
│      bootstrap-grid.min.css
│      bootstrap-grid.min.css.map
│      bootstrap-reboot.css
│      bootstrap-reboot.css.map
│      bootstrap-reboot.min.css
│      bootstrap-reboot.min.css.map
├─js
│      bootstrap.js
│      bootstrap.js.map
│      bootstrap.min.js
│      bootstrap.min.js.map
├─jssrc
├─scss

gulp和其他包

gulp和其他包需要安裝在你的本地服務(wù)器的根目錄框舔,這樣它們可以操縱你的服務(wù)器根目錄里面的所有文件蹦玫。

更高層的目錄結(jié)構(gòu)

服務(wù)器根目錄下,應(yīng)新建一個(gè)項(xiàng)目刘绣,比如叫tuangou钳垮,假設(shè)咱們要搞個(gè)團(tuán)購網(wǎng)站。里面就按照上面我說的工作流的目錄建额港。

本機(jī)虛擬主機(jī)設(shè)置

虛擬主機(jī)應(yīng)當(dāng)指向項(xiàng)目目錄饺窿。預(yù)覽build/html文件夾里的HTML的話,就用這個(gè)虛擬域名即可移斩。虛擬域名要在hosts文件中也設(shè)好肚医。

虛擬域名和本機(jī)IP要告訴后端程序猿。

測試服務(wù)器設(shè)置

根據(jù)與后端程序猿的商定方針向瓷,你按規(guī)定肠套,把dist里面的相關(guān)文件上傳到測試服務(wù)器即可。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末猖任,一起剝皮案震驚了整個(gè)濱河市你稚,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖刁赖,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件搁痛,死亡現(xiàn)場離奇詭異,居然都是意外死亡宇弛,警方通過查閱死者的電腦和手機(jī)鸡典,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來枪芒,“玉大人彻况,你說我怎么就攤上這事【俗伲” “怎么了纽甘?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長抽碌。 經(jīng)常有香客問我贷腕,道長,這世上最難降的妖魔是什么咬展? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮瞒斩,結(jié)果婚禮上破婆,老公的妹妹穿的比我還像新娘。我一直安慰自己胸囱,他們只是感情好祷舀,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著烹笔,像睡著了一般裳扯。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上谤职,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天饰豺,我揣著相機(jī)與錄音,去河邊找鬼允蜈。 笑死冤吨,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的饶套。 我是一名探鬼主播漩蟆,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼妓蛮!你這毒婦竟也來了怠李?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎捺癞,沒想到半個(gè)月后夷蚊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡翘簇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年撬码,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片版保。...
    茶點(diǎn)故事閱讀 38,654評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡呜笑,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出彻犁,到底是詐尸還是另有隱情叫胁,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布汞幢,位于F島的核電站驼鹅,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏森篷。R本人自食惡果不足惜输钩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望仲智。 院中可真熱鬧买乃,春花似錦、人聲如沸钓辆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽前联。三九已至功戚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間似嗤,已是汗流浹背啸臀。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留烁落,地道東北人壳咕。 一個(gè)月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像顽馋,于是被迫代替她去往敵國和親谓厘。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評論 2 349

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