使用requirejs搭建前端項(xiàng)目

本文主要是講述如何使用requirejs這個(gè)模塊化管理工具來搭建前端項(xiàng)目結(jié)構(gòu),適合內(nèi)網(wǎng)開發(fā)以及還在使用比較舊的技術(shù)棧(如jQuery)的前端同學(xué)栈暇。
github地址:https://github.com/duwenbin0316/Requirejs-demo.git,如果對你有幫助,請點(diǎn)個(gè)star嗓蘑,謝謝须肆!
requirejs的使用我就一筆帶過,主要是講如何搭建項(xiàng)目結(jié)構(gòu)桩皿。
項(xiàng)目基本目錄結(jié)構(gòu)如下:

項(xiàng)目目錄結(jié)構(gòu)

根目錄下有index.html文件和scripts文件夾豌汇,我們把css文件和js文件放在一起處理,components目錄下按照頁面結(jié)構(gòu)定義文件夾結(jié)構(gòu)泄隔,例如footer文件夾就是用來處理頁面footer的模塊拒贱,文件夾中包括footer.js和footer.css文件,如果還需要拆分子組件佛嬉,則繼續(xù)嵌套即可逻澳。
這種目錄結(jié)構(gòu)的好處在于實(shí)現(xiàn)了模塊功能和樣式的高內(nèi)聚,符合模塊化開發(fā)的高內(nèi)聚低耦合思想暖呕,項(xiàng)目也更容易維護(hù)斜做。

在index.html中引入requirejs本身以及主js文件:

<script data-main="scripts/index" src="scripts/lib/require.js"/></script>

index.js定義了模塊的名稱和路徑,以及模塊所需的依賴湾揽,并調(diào)用了main模塊的start方法:

require.config({
    baseUrl: "scripts/",
    map: {
        '*': {
            'css': 'lib/css.min'
        }
    },
    paths: {
        "jquery": "lib/jquery-2.1.4.min",
        "main": "main"
    },
    shim: {
        "main": {
            deps: ['jquery', 'css!./main.css']
        }
    }
})

require(['main'], function(main){
    main.start()
})

main.js為應(yīng)用主模塊瓤逼,調(diào)用main.start()執(zhí)行應(yīng)用初始化,所有的dom創(chuàng)建都在模塊內(nèi)部處理库物,index.html中只有一個(gè)div#main的dom元素霸旗。main.js內(nèi)容如下:

/**
 * 定義一個(gè)main模塊
 */
define(function() {
    var main = function() {
        this.moduleName = 'main'
    }
    
    main.prototype = {
        start: function() {
            // 渲染頁面布局
            this.renderLayout();

            // 調(diào)用header的start,渲染header內(nèi)容
            require(['header'], function(header){
                header.start();
            })
        },

        renderLayout: function() {
            var left = $("<div>").addClass('sider left').prop('id', 'sider');

            var right = $("<div>").addClass('right');
            var header = $("<div>").prop('id', 'header');
            var content = $("<div>").prop('id', 'content');
            var footer = $("<div>").prop('id', 'footer');
            right.append(header, content, footer);

            $("#main").append(left, right);
        }
    }

    return new main();
});

同時(shí)在main.js中調(diào)用了header模塊的start方法艳狐。

項(xiàng)目結(jié)構(gòu)按照該思路一層一層構(gòu)建定硝,簡單明了,當(dāng)然也可以根據(jù)個(gè)人習(xí)慣提取出一些通用的組件毫目,本文就不再贅述蔬啡。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市镀虐,隨后出現(xiàn)的幾起案子箱蟆,更是在濱河造成了極大的恐慌,老刑警劉巖刮便,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件空猜,死亡現(xiàn)場離奇詭異,居然都是意外死亡恨旱,警方通過查閱死者的電腦和手機(jī)辈毯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來搜贤,“玉大人谆沃,你說我怎么就攤上這事∫敲ⅲ” “怎么了唁影?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵耕陷,是天一觀的道長。 經(jīng)常有香客問我据沈,道長哟沫,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任锌介,我火速辦了婚禮嗜诀,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘掏湾。我一直安慰自己裹虫,他們只是感情好肿嘲,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布融击。 她就那樣靜靜地躺著,像睡著了一般雳窟。 火紅的嫁衣襯著肌膚如雪尊浪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天封救,我揣著相機(jī)與錄音拇涤,去河邊找鬼。 笑死誉结,一個(gè)胖子當(dāng)著我的面吹牛鹅士,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播惩坑,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼掉盅,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了以舒?” 一聲冷哼從身側(cè)響起趾痘,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蔓钟,沒想到半個(gè)月后永票,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡滥沫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年侣集,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片兰绣。...
    茶點(diǎn)故事閱讀 39,834評論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡世分,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出狭魂,到底是詐尸還是另有隱情罚攀,我是刑警寧澤党觅,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站斋泄,受9級特大地震影響杯瞻,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜炫掐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一魁莉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧募胃,春花似錦旗唁、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至祷嘶,卻和暖如春屎媳,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背论巍。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工烛谊, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人嘉汰。 一個(gè)月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓丹禀,卻偏偏與公主長得像,于是被迫代替她去往敵國和親鞋怀。 傳聞我的和親對象是個(gè)殘疾皇子双泪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評論 2 354

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

  • 前端知識體系http://www.cnblogs.com/sb19871023/p/3894452.html 前端...
    秋風(fēng)喵閱讀 12,393評論 7 163
  • 春天的夜不熱不冷 清新的氣息令人神怡 春天的夜不鬧不靜 悄悄萌動著多少生命 嫩綠的小草鉆出了土層 擺脫一個(gè)黑暗的夢...
    無語_2cd1閱讀 230評論 0 0
  • 久到記不得蛋糕胚是什么味道的蛋糕,簡單接箫,凌亂攒读。 照片記錄:
    YI是可以的以閱讀 175評論 0 0
  • 孤單的人都有顆孤獨(dú)的心。 初冬的夜辛友,昏黃的路燈拉長了人影薄扁。聽著過路的汽笛聲,別人的談笑聲废累,廣場舞的音樂聲邓梅。歡笑聲,...
    清晨微雨_閱讀 249評論 6 2
  • 初冬已過邑滨,天氣越來越冷了日缨。火車站臺旁邊的長椅上坐著一個(gè)穿著厚重棉祆的老婦人掖看。她兩眼發(fā)愣匣距,死死的盯著從她眼前呼嘯而過...
    凱里的珍珠閱讀 387評論 0 8