具体的理论就不讲了,可以参考

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

最新文章

  1. [Prodinner项目]学习分享_第一部分_Model层
  2. 一些不太常用的Linux命令
  3. 禁用USB存储设备(不重启)
  4. (二)给IE6-IE9中的input添加HTML5新属性-placeholder
  5. PAT (Advanced Level) 1024. Palindromic Number (25)
  6. 最简单的html5语言
  7. 跟我学ASP.NET MVC之八:SportsStrore移动设备
  8. webpack的在开发生产时的具体功能
  9. 剑指offer面试题27:二叉搜索树与双向链表
  10. R语言 ggplot2包
  11. Segment Occurrences(string find函数)
  12. 关于Sentry(转)
  13. PAT L3-010 是否完全二叉搜索树(二叉搜索树)
  14. [转]C++实现平衡二叉树
  15. smarty 学习 ——smarty 开发环境配置
  16. FileSync plugin for Eclipse 安装注意事项 Eclipse文件同步插件
  17. YQCB绩效表
  18. HDU 1010 Tempter of the Bone (广搜+减枝)
  19. Shell 启动java程序
  20. Software Testing Techniques LAB 02: Selenium

热门文章

  1. Android9.0配置charles的https抓包
  2. 「MoreThanJava」机器指令到汇编再到高级编程语言
  3. springboot实现定时任务,异步操作,统一结果返回,全局异常处理,拦截器及事务处理
  4. 用斗地主的实例学会使用java Collections工具类
  5. spring-framework 源码的下载与构建
  6. Python 报错:NameError: name &#39;ctypes&#39; is not defined
  7. Centos7 安装 redis6 的部分问题总结
  8. Android学习笔记颜色资源文件
  9. 套接字TCP控制台服务器程序代码示范
  10. Jenkins中agent的使用