前端開發一年了,向你們交流下本身實踐總結下來的一點點開發心得。人生不免磕磕碰碰,前進的道路不少,在學習工做上咱們都得學會如何讓本身過的更高效,代碼亦是如此。javascript
下面,開始介紹本身總結的前端框架搭建(佈局搭建)。css
1,項目文件結構。html
2,index.html頁面內容前端
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>index</title> 6 <link rel="stylesheet" href="css/layout.css"> 7 <link rel="stylesheet" href="css/bs.cut.min.css"> 8 </head> 9 <body> 10 <div id="container"> 11 <div class="header"></div> 12 <div class="contain"></div> 13 <div class="footer"></div> 14 </div> 15 </body> 16 <script> 17 window.APP = {}; 18 </script> 19 <script type="text/javascript" src="/framebj/thirdparty/jquery/1.11.1/jquery.min.js"></script> 20 <script src="js/controller/index.js"></script> 21 <script src="js/view/common.js"></script> 22 <script src="js/view/index.js"></script> 23 <script> 24 $(function() { 25 APP.controller.index.start(); 26 }) 27 </script> 28 </html>
其中頁面佈局樣式主要在layout.css中。頁面結構包含上、中、下三部分,這裏重點講的是關於js如何控制文件載入。在頁面的js最開始的部分,設置一個全局對象。全部的業務方法以及屬性都將與這個對象掛鉤。頁面上除了基本的佈局以外,其餘的全部程序執行,,都將經過APP.controller.index.start()方法開始執行。其中這個方法充當控制層。代碼以下:java
APP.controller = {};
APP.controller.index = (function() {
var api = {};
api.start = function() {
APP.view.index.loadBody(function() {
addEvent();
});
}
function addEvent() {
// add someThing
}
return api;
})()
其中,在start方法中,APP.view.index.loadBody()方法,充當的是MVC中的視圖層,主要的做用用,就是給頁面增長元素。代碼以下:jquery
APP.view.index = (function() { var api = {}; api.loadBody = function(callback) { $('.header').html(APP.view.common.getBlueHeaderHtml()); callback.call(this); }; return api; })()
在這裏你們就會以爲,既然已經有了APP.view.index.loadBody()這個方法了,爲何我還要在這方法裏面添加額外的common視圖層呢?答案很簡單,咱們都知道,一個項目中,咱們不可能只作一個頁面,這裏我將頁面公共部分的代碼抽離了出來,獨立的放在一個公共的視圖層js裏面,這樣,在建立新的界面時,就能夠很快從公共模塊中引用,無獨有偶,既然視圖層能夠,控制層是否是也能夠呢?這裏我只作視圖層的簡單介紹,若是你們感興趣能夠本身研究,或者加我,很樂意和你們分享。下面是視圖層的公共部分了。代碼以下:api
APP.view={}; APP.view.common = (function() { var api = {}; api.getBlueHeaderHtml = function() { return [ '<div class="banner">', '<div class="page">', '<ul class="pull-right nav icon-nav" style="top: 16px;">', '<li><img src="http://placehold.it/48x48"><a href="">首頁</a></li>', '<li><img src="http://placehold.it/48x48"><a href="">考試</a></li>', '<li><img src="http://placehold.it/48x48"><a href="">成績查詢</a></li>', '<li><img src="http://placehold.it/48x48"><a href="">我的中心</a></li>', '</ul>', '<div class="logo">', '<h1>福建業餘無線電操做能力考試</h1>', '</div>', '</div>', '</div>' ].join(''); } api.getGreenHeadHtml = function() { // do same different html } return api; })()
經過這三個模塊的開發,咱們能夠很快的爲頁面頭部製做不一樣效果,而不用手動的去修改頁面結構。前端框架
固然,MVC中的模型層,這篇幅中我就不作過多的介紹了。歡迎你們指點。 附件不知道怎麼傳(= =),若是你們想要源碼,能夠直接加我。框架