跳到主要內容

[介紹] SeaJS, 模組化開發加載套件. SeaJS, a loading library for web front end.


頁面上很多靜態檔案,使瀏覽器等待檔案下載,導致頁面短暫性的的當機,畫面整個卡住,滑鼠連點擊的動作都無法執行,因此許多人會使用動態方式加載靜態檔案,諸如javascript, css, img...等。

針對Javascript, CSS檔案,特別介紹這套SeaJS,有別于之前介紹的NodeJS,兩者都屬於遵從commonJS規範編寫而成,但是SeaJS主要針對前端Javascript , CSS下載時,使用nonblocking的方式,同時可以使用callback來執行接下來要處理的事情。

通常一般頁面處理,讀取靜態檔案方式如下:
<script src="/js/jquery.min.js"></script>
<script src="/js/jquery.easing-1.3.pack.js"></script>
<script src="/js/jquery.mousewheel-3.0.4.pack.js"></script>
<script src="/js/jquery.fancybox-1.3.4.js"></script>
<link rel="stylesheet" href="/js/jquery.fancybox-1.3.4.css"/>


我們看一下官方給予的基本範例,使用SeaJS改寫方式如下。
<script src="http://seajs.com/build/sea.js" data-main="./hello"></script>

主要程式寫在hello.js,內容如下。
define(function(require, exports) {

  exports.sayHello = function() {
    document.getElementById('out').innerHTML = 'Hello, SeaJS!';
  };

});

基本範例連結

如此,就可以產出nonblocking架構,因此頁面可以更快區分出模組化,分區加載所需要的javascript, css檔案,同時利用callback綁定事件,或者執行程序。如果熟悉NodeJS的朋友,可以根據commonJS的規範,開發額外的第三方元件(3rd party library),開發方式幾乎和NodeJS module無異。

SeaJS
官方網站
範例說明(簡單範例)
API說明(使用文檔)
相關文章(相關文章)
Github SeaJS project

SeaJS,是一套簡易使用的加載套件,優點在於nonblocking之後,加快使用者瀏覽頁面感覺,因分模組加載靜態檔案,可以節省時間及頻寬,不需要的檔案可以在第二時間之後進行載入。這邊單純用文字說明,可能還不是很清楚,作者對於此部份有寫一篇文章大家可以參考看看,計算機模組化開發

結語
SeaJS在目前使用經驗上,可以搭配任何套件,達到有效利用『模組化』的效果,使Javascript Code不會互相污染,盡量使用Object的方式開發,使團隊合作上效果更加顯著。

在使用者感受上,速度也會明顯提昇,同時對於Sever不會產生一次性龐大的reqeust,可以經由不斷地調整,分批下載所需的資料,以節省頻寬。





感謝各位收看!

留言

這個網誌中的熱門文章

[解釋] uuid 與 guid 的差異

uuid 與 guid 的差異 很多人都有使用過 MySQL 的 number auto increment, 可是實際使用之後就會發現,很快的數字會不夠使用,而且這個 id 是很容易被猜測出來連續性。 因此就開始進行了解,看到了 uuid 這個名詞,進而下去查詢發現 guid 的另外這個名詞,感覺上這兩個名詞似乎是有些什麼特殊關連。 這篇文章就小小記錄一下自己的查詢心得。

[分享] 腳踏車環島注意事項

很多人都期望自己能夠做點什麼,做些什麼,而退伍之後的第二個星期,就展開了環島之旅。 對很多人來說這不算什麼,甚至有人展開了走路、跑步、溜滑板、單輪車等方式環島一周,充分展現對台灣的愛與關懷。 這篇主要讓不知道怎麼準備環島的人,作一個完善的解說,首先隨身的東西要有: 證件現金類 : 身份證 健保卡 學生證 現金 提款卡 悠遊卡

[教學] 快快樂樂刪除CodeIgniter index.php

預設的CI網址預設都設定為index.php同一層級,因此所有的程式都必須指定index.php導向才能開始,例如 http://localhost/ci/index.php/welcome/test http://localhost/ci/welcome/test 本文將說明如何將惱人的index.php消除,還你一個漂亮的URL。 設定開始: 接下來說明如何使用rewrite方式將惱人的index.php去除。 rewrite不清楚的人,煩請先自行google 首先要先確定Apache的 mod_rewrite 有 開啟 ,如果沒有開啟請設定好之後重新啟動apache。 接著,在根目錄底下建立一個新檔案,檔名為 .htaccess ,裡面程式碼如下: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] </IfModule> 接著到 application/config/config.php ,開啟檔案修改 $config['index_page'] = ""; 注意: /index.php/$1 要根據你目錄,例如 http://localhost/index.php ,網站根目錄為 /ci/index.php 則要寫成 /ci/index.php/$1 接著至CI目錄下,尋找 config\config.php , 修改一下裡面的檔案,修改如下: $config['index_page'] = ""; 存檔後,如此一來大功告成。 參考資料 官方網站說明