推薦文章:http://www.ruanyifeng.com/blog/2012/11/require_js.htmlhtml
一、如下例子主要實現功能,jquery
1)引用jq庫獲取dom中元素文本,nginx
2)實現並引用去空格工具類trim,npm
3)最後獲取文本並去掉空格後輸出,dom
4)打包js(將全部js文件打包成main.min.js)async
一、下載require文件工具
require.js require主文件
r.js require優化器文件
官網地址:http://requirejs.org/docs/download.html
npm install requirejs
二、文件結構requirejs
index.html --js文件夾 jquery.js main.js model.js r.js require.js utils.js
三、index.html優化
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <meta charset="utf-8" /> </head> <body> <div id='test'> asdfasdfasdfasdf </div> </body> <!-- 壓縮js前 --> <!-- <script src="js/require.js" data-main="js/main" defer async="true"></script> --> <!-- 壓縮js後 --> <script src="js/require.js" data-main="js/main.min" defer async="true"></script> </html>
四、model.js (獲取ID爲test的元素text並返回)ui
define(['jquery'], function($) { var add = function() { return $("#test").text(); }; return { add: add }; });
五、utlis.js (定義trim方法)
define(function() { var utils = { trim: function(e) { return e.replace(/(^\s*)|(\s*$)/g, ""); }, ltrim: function(e) { return e.replace(/(^\s*)/g, ""); }, rtrim: function(e) { return e.replace(/(\s*$)/g, ""); } }; return utils; });
六、main.js (配置引入模塊、調用模塊)
require.config({ paths: { "jquery": "jquery", "model": "model", "utils": "utils" } }); require(['model', 'utils'], function(model, utils) { console.log(model.add()); console.log(utils.trim(model.add())); });
七、打包/壓縮js文件 (main.js中引入的模塊jquery、model、utlis打包成main.min.js)
八、運行效果