baseUrl

<script>
	require.config({
	    baseUrl: "/root/path"  //设置站点的静态文件根目录
	});
</script>
<script>
	require(["module/a", "module/b"],function(a, b){
		/* 
			a , b 模块最终的解析地址为 
			a: /root/path/module/a.js
			b: /root/path/module/b.js
		*/
	});
</script>

paths

<script>
	require.config({
	    baseUrl: "/root/path",  //设置站点的静态文件根目录
	    // 将一些常用的模块的路径映射为别名
	    //  key value 的形势组合
	    // 在加载模块该模块时, 只需要传入模块的别名就能找到完整的路径
	    paths: {
			"jquery": "jquery.min",
			"a" : "module/a",
			"b" : "module/b",
			"touch" : "http://www.xxx.com/xxxx/xxx/touch.min"
		}
	});
</script>
<script>
	require(["jquery","a", "b"],function(jquery, a, b){
		/* 
			jquery, a , b 模块最终的解析地址为 
			jquery: /root/path/jquery.min.js
			a: /root/path/module/a.js
			b: /root/path/module/b.js
		*/
	});
</script>
如果模块时第三方网站的文件也是可以请求的, 因为 script 标签可以跨域, 每一个模块都是通过 script 来进行加载的
<script>
	require(["touch"],function(touch){
		/* 
			touch 模块最终的解析地址为 
			touch: http://www.xxx.com/xxxx/xxx/touch.min.js
		*/
	});
</script>

shim

我们要求每一个 require 加载的模块,都必须是按照 AMD 规范、用 define 函数定义的模块, 但是实际上,如 jQuery 类的很多库并不符合, 这个时候需要使用 require 提供的 shim 来做兼容处理。
<script>
	require.config({
	    baseUrl: "/root/path",  //设置站点的静态文件根目录
		paths: {
			"jquery": "jquery.min"
		},
		// 配置不兼容的模块
		shim: {
			"jquery" : {
				//加载该模块时 返回的对象
				"exports" : 'window.jQueyr'
			}
		}
	});
</script>
<script>
	require(["jqueyr"],function($){
		console.log($("body")); // 输出 body 对象
	});
</script>

shim 不兼容模块之间的依赖

<script>
	require.config({
	    baseUrl: "/root/path",  //设置站点的静态文件根目录
		paths: {
			"jquery": "jquery.min",
			"jquery.scroll" : "jquery.scroll"
		},
		// 配置不兼容的模块
		shim: {
			"jquery" : {
				//加载该模块时 返回的对象
				"exports" : 'jQueyr'
			},
			"jquery.scroll" : {
				"deps" : [ "jquery" ], //改模块依赖 jquery 插件
				"exports" : 'jQuery.fn.scroll'
			}
		}
	});
</script>
<script>
	require(["jqueyr","jquery.scroll"],function($,scroll){
		console.log(scroll);
	});
</script>