前后端分離開(kāi)發(fā)腳手架

上篇文章寫(xiě)完后,有一些同學(xué)反應(yīng)有些東西沒(méi)有說(shuō)清楚辑舷,所以我決定抽點(diǎn)時(shí)間把這個(gè)工具寫(xiě)的詳細(xì)一點(diǎn)

描述

這是一個(gè)是針對(duì)于頁(yè)面比較繁多的非單頁(yè)面應(yīng)用的官網(wǎng)開(kāi)發(fā)腳手架。打包工具使用的是gulp敌蜂,還用到了require引入資源的方式拾枣,樣式編寫(xiě)時(shí)用的less庆械,頁(yè)面的模板和后臺(tái)的交互顯示是使用的art-template(下面有詳細(xì)描述這個(gè)插件)
項(xiàng)目地址

如何使用

  1. 下載項(xiàng)目

    $ git clone git@github.com:HuYuee/web-starter-kit.git
    
  2. 安裝依賴

    $ cd web-starter-kit && npm install
    
  3. 啟動(dòng)頁(yè)面薇溃,訪問(wèn)http://localhost:3333/src/html/index.html

    $ npm run start
    
  4. 產(chǎn)出最終工程

    $ npm run build
    

目錄結(jié)構(gòu)

  • bin
    • render.js——(在gulpfile文件中使用到)解析layout中的模板html,將完整的html產(chǎn)出到src/html中
  • dist——產(chǎn)出目錄(在項(xiàng)目下運(yùn)行npm run build就可以將src下相關(guān)資源產(chǎn)出到該目錄)
  • src——開(kāi)發(fā)目錄(只需在該目錄下開(kāi)發(fā)即可)
    • conf——配置文件目錄
    • css——由less文件生成的的css文件
    • data——mock數(shù)據(jù)文件夾
    • html——由layout中的html文件解析出來(lái)的最終html文件
    • images——圖片文件夾
    • js——js文件夾(js相關(guān)在此文件夾中開(kāi)發(fā)
    • layout——html的源文件夾(html在該文件夾中開(kāi)發(fā)
    • less——less文件夾(樣式相關(guān)的在該文件夾中開(kāi)發(fā)
    • vendor——第三方庫(kù)
    • widget——公用的layout中使用的模板(模板在該文件夾中開(kāi)發(fā)

如何新建頁(yè)面

  1. 新建html

    src/layout文件夾中新建page1.html,在代碼可以引入部門(mén)公用html模板缭乘,也可以寫(xiě)自己定制的代碼沐序。這里需要明確的說(shuō)一點(diǎn):在html中的底部會(huì)加入require引入,這里必須要寫(xiě)入頁(yè)面在require中對(duì)應(yīng)的配置名稱堕绩,比如下面的page1薄啥。如果只是測(cè)試可以拷入以下代碼:

    <!DOCTYPE html>
    <html>
    <head>
        <!-- ws: 引入公共樣式 -->
        {{{include '../widget/public_style'}}}
        <!-- we: 引入公共樣式 -->
    </head>
    <body style="visibility:hidden;">
        <h1>這里是page1的內(nèi)容</h1>
        <a href="index.html">點(diǎn)擊回首頁(yè)</a>
        <!--ws: 公共Script -->
        {{{include '../widget/public_script'}}}
        <!--we: 公共Script -->
        <script>
        //通過(guò)require的方式來(lái)引入需要的js
          require( ['page1'], function() {
          });
        </script>
    </body>
    </html>
    
  2. 新建樣式文件

    src/less/page文件夾中新建page1.less,在代碼中可以引入公共的less模板逛尚,也可以自己寫(xiě)。如果是測(cè)試可以拷入以下代碼:

    // 引入基本樣式
    @import '../widget/common.less';
    
        h1 {
            font-size: 25px;
        }
    
  3. 新建js文件

    src/js文件夾下新建page1文件夾刁愿,然后在page1文件夾下新建文件page1.js绰寞。里面可以通過(guò)require語(yǔ)法引入其他js。可以拷入以下代碼進(jìn)行測(cè)試:

    define(["jquery", "data", "template"], function($, d, template) {
        $("body").css("visibility", "visible");
    
    });
    
  4. 配置require

    src/conf/require.config.js中配置新加入的js和css滤钱,如下圖所示:

image.png
  1. 當(dāng)然如果你再別的方面還需要進(jìn)行增加或者修改可以到相應(yīng)的目錄下去修改觉壶,比如圖片在images中修改,第三方插件在vendor中加入件缸。

  2. 最后你可以訪問(wèn)[http://localhost:3334/src/html/page1.html

使用到的技術(shù)

  • require:實(shí)現(xiàn)模塊化開(kāi)發(fā)
  • mock:實(shí)現(xiàn)本地模擬服務(wù)器端返回?cái)?shù)據(jù)
  • browsersync:?jiǎn)?dòng)本地瀏覽頁(yè)面铜靶,并實(shí)現(xiàn)當(dāng)源碼更改時(shí)頁(yè)面實(shí)時(shí)刷新
  • art-template:使用到了html模塊化封裝,還有js模板
  • gulp-autoprefixer:使用gulp-autoprefixer根據(jù)設(shè)置瀏覽器版本自動(dòng)處理瀏覽器前綴
  • 圖片壓縮他炊,less轉(zhuǎn)css争剿,css和js壓縮,css生成sourcemap
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末痊末,一起剝皮案震驚了整個(gè)濱河市蚕苇,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌凿叠,老刑警劉巖涩笤,帶你破解...
    沈念sama閱讀 218,036評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異盒件,居然都是意外死亡蹬碧,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)炒刁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)恩沽,“玉大人,你說(shuō)我怎么就攤上這事切心§” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,411評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵绽昏,是天一觀的道長(zhǎng)协屡。 經(jīng)常有香客問(wèn)我,道長(zhǎng)全谤,這世上最難降的妖魔是什么肤晓? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,622評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮认然,結(jié)果婚禮上补憾,老公的妹妹穿的比我還像新娘。我一直安慰自己卷员,他們只是感情好盈匾,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,661評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著毕骡,像睡著了一般削饵。 火紅的嫁衣襯著肌膚如雪岩瘦。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,521評(píng)論 1 304
  • 那天窿撬,我揣著相機(jī)與錄音启昧,去河邊找鬼。 笑死劈伴,一個(gè)胖子當(dāng)著我的面吹牛密末,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播跛璧,決...
    沈念sama閱讀 40,288評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼严里,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼瑟幕!你這毒婦竟也來(lái)了泡一?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,200評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤谐区,失蹤者是張志新(化名)和其女友劉穎漓柑,沒(méi)想到半個(gè)月后教硫,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,644評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡辆布,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,837評(píng)論 3 336
  • 正文 我和宋清朗相戀三年瞬矩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锋玲。...
    茶點(diǎn)故事閱讀 39,953評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡景用,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出惭蹂,到底是詐尸還是另有隱情伞插,我是刑警寧澤,帶...
    沈念sama閱讀 35,673評(píng)論 5 346
  • 正文 年R本政府宣布盾碗,位于F島的核電站媚污,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏廷雅。R本人自食惡果不足惜耗美,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,281評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望航缀。 院中可真熱鬧商架,春花似錦、人聲如沸芥玉。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,889評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)灿巧。三九已至赶袄,卻和暖如春诬烹,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背弃鸦。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,011評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留幢痘,地道東北人唬格。 一個(gè)月前我還...
    沈念sama閱讀 48,119評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像颜说,于是被迫代替她去往敵國(guó)和親购岗。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,901評(píng)論 2 355

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

  • 在現(xiàn)在的前端開(kāi)發(fā)中门粪,前后端分離喊积、模塊化開(kāi)發(fā)、版本控制玄妈、文件合并與壓縮乾吻、mock數(shù)據(jù)等等一些原本后端的思想開(kāi)始...
    Charlot閱讀 5,440評(píng)論 1 32
  • Webpack學(xué)習(xí)總結(jié) 此文只是自己學(xué)習(xí)webpack的一些總結(jié),方便自己查閱拟蜻,閱讀不變绎签,非常抱歉!酝锅! 下載安裝:...
    Lxs_597閱讀 948評(píng)論 0 0
  • GitChat技術(shù)雜談 前言 本文較長(zhǎng)诡必,為了節(jié)省你的閱讀時(shí)間,在文前列寫(xiě)作思路如下: 什么是 webpack搔扁,它要...
    蕭玄辭閱讀 12,693評(píng)論 7 110
  • gulpjs是一個(gè)前端構(gòu)建工具爸舒,與gruntjs相比,gulpjs無(wú)需寫(xiě)一大堆繁雜的配置參數(shù)稿蹲,API也非常簡(jiǎn)單扭勉,學(xué)...
    依依玖玥閱讀 3,154評(píng)論 7 55
  • 1、打開(kāi)iTunes场绿,并與手機(jī)相連接剖效; 2、按照下圖焰盗,搜索想找的App璧尸,并下載: 3、根據(jù)這個(gè)路徑:/Users/...
    zhuJ_LRY閱讀 910評(píng)論 0 1