使用 Sea.js 進行模塊化開發還可以帶來很是多優勢:javascript
模塊的版本號管理。html
經過別名等配置,配合構建工具,可以比較輕鬆地實現模塊的版本號管理。前端
提升可維護性。模塊化可以讓每個文件的職責單一,頗有利於代碼的維護。Sea.js 還提供了 nocache、debug 等插件,擁有在線調試等功能。能比較明顯地提高效率。java
前端性能優化。瀏覽器
Sea.js 經過異步載入模塊,這對頁面性能很是故意。性能優化
Sea.js 還提供了 combo、flush 等插件,配合服務端,可以很是好地對頁面性能進行調優。異步
跨環境共享模塊。前端性能
CMD 模塊定義規範與 Node.js 的模塊規範很是相近。經過 Sea.js 的 Node.js 版本號。可以很是方便實現模塊的跨server和瀏覽器共享。模塊化
define(function(require,exports,module){ var _msg = 'not set msg!'; exports.setMsg = function(msg){ _msg = msg; }; exports.getMsg = function(){ return _msg; }; });
seajs.config({ alias:{ 'init':"modul/init.js" } });
用來在頁面中載入一個或多個模塊。工具
seajs.use("init", function(init){ //設置值 init.setMsg('Hello World'); alert(init.getMsg()); });
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <!-- 導入seajs-2.3.0這個文件 --> <script type="text/javascript" src="seajs-2.3.0/dist/sea.js"></script> <script type="text/javascript"> //配置seajs seajs.config({ alias:{ 'init':"modul/init.js" } }); //使用seajs seajs.use("init", function(init){ //設置值 init.setMsg('Hello World'); alert(init.getMsg()); }); </script> </head> <body> <h1>Test seajs</h1> </body> </html>