require.config()用法
在require.js data-main主模块使用一章节介绍了模块加载的基本使用。
参数都是采用的默认配置,例如:
[HTML] 纯文本查看 复制代码1<script src="js/require.js" data-main="js/main"></script>
main.js的代码如下:
[JavaScript] 纯文本查看 复制代码123require(['jquery', 'underscore', 'backbone'], function ($, _, Backbone){ // 代码});
默认情况下,require.js假定这三个模块与main.js在同一个目录,文件名分别为jquery.js,underscore.js和backbone.js,然后自动加载。我们也可以使用require.config()方法进行配置,代码如下:
[JavaScript] 纯文本查看 复制代码1234567require.config({ paths: { "jquery": "lib/jquery.min", "underscore": "lib/underscore.min", "backbone": "lib/backbone.min" }});
这段配置代码要放在main.js文件的顶端;上面的代码指定了模块文件的具体路径,并重命名了模块名称(可以将原本很复杂的模块名称重定义为更为简洁的形式)。
可以使用baseUrl属性可以设置基目录,它的作用类似于HTML中的<base>标签,参阅HTML <head>标签一章节。
代码实例如下:
[JavaScript] 纯文本查看 复制代码12345678require.config({ baseUrl: "js/lib", paths: { "jquery": "jquery.min", "underscore": "underscore.min", "backbone": "backbone.min" }});
规定基准目录之后,具体问文件路径就可以使用简写的形式。
特别说明:baseUrl规定的路径参照于引入main.js页面的相对路径,因为此时mian.js文件已经导入到此页面。
避免baseUrl生效的方式:
(1).以 ".js" 结束。
(2).以 "/" 开始。
(3).包含 URL 协议, 如 "http:" or "https:"。
代码实例如下:
[JavaScript] 纯文本查看 复制代码12345678require.config({ baseUrl: "js/lib", paths: { "jquery": "jquery.min.js", "underscore": "underscore.min", "backbone": "backbone.min" }});
这时候就会在main.js的同级目录下查找jquery.min.js。