requirejs之demo
具体的理论就不讲了,可以参考
http://www.ruanyifeng.com/blog/2012/10/javascript_module.html
http://www.ruanyifeng.com/blog/2012/10/asynchronous_module_definition.html
http://www.ruanyifeng.com/blog/2012/11/require_js.html
直接上demo
首先创建文件,其中define的是采取amd格式定义的
// require1.js define(function (){ var add = function (x,y){ return x+y; }; return { add: add }; });
// require2.js define(function (){ var multiply = function (x,y){ return x*y; }; return { multiply: multiply }; });
// require3.js define(function(){ var divide=function(a,b){ return a/b; }; return { divide:divide }; })
// noAMD.js function test2(a,b){ return a-b; } window.test=test2;
//main.js require.config({ paths: { "require1": "src/require1", "require2": "src/require2", "test":"src/noAMD" }, shim:{ "test":{ exports:"test" } } }); require(["require1","require2","src/require3",'test'],function(require1,r2,r3,test2){ var a=21,b=3; alert(require1.add(a,b)); alert(r2.multiply(a,b)); alert(r3.divide(a,b)); alert(test2(a,b)) })
<html> <head> <meta name="generator" content="HTML Tidy for HTML5 (experimental) for Windows https://github.com/w3c/tidy-html5/tree/c63cc39" /> <title></title> <script src="require.js" data-main="main" defer async="true"> </script> </head> <body></body> </html>
此处需要注意非amd格式编写的,需要使用shim