requirejs
//index.html <!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <!-- <script data-main="js/main" src="require.js"></script> --> <script data-main="js/test" src="js/require.js"></script> </head> <body> <script> </script> </body> </html>
//test.js
requirejs.config({
//默认相对于html页面, baseUrl指定为相对页面下的js目录 baseUrl : "js",
//这个可以是缩写 paths : { },
//这个里面指定的是顺序,就像backbone需要jq和underscore一样; shim : [] });
//加载lib目录下的test1,并执行返回对象下的App requirejs(["lib/test1"],function(test1){ test1.App(); })
test1.js
//依赖模块m1 和 m2
//如果依赖是以".." “/”做开头或者是“.js"作结尾查询目录的方式就不是根据正常的查找了
define(["model/m1","model/m2"],function (m1,m2) { return { App : function(){ console.log( m1 ); m2; return "App is runing" } }; });
model/m1.js
define(function(){ return "m1" })
model/m2.js
//这个又是依赖控制器c1 和 c2了;
//这个是变成当前目录上的目录下的/controller/xx define(["../controller/c1","../controller/c2"],function(c1,c2){ console.log( c1 ) console.log( c2 ); return "m2" })
//controller/c1.js
define(function(){ return "this is c1" })
//controller/c2.js
//这个又开始依赖view目录下的v1了,
define(["view/v1"],function(v1){ return "this is c2" })
//如此就变成一个个模块了,开发就方便一些了,代码就不会一大堆了
天道酬勤