require
RequireJS 是一个JavaScript模块加载器。
require.js加载的模块,采用AMD规范。也就是说,模块必须按照AMD的规定来写。
具体来说,就是模块必须采用特定的define()函数来定义。如果一个模块不依赖其他模块,那么可以直接定义在define()函数之中。
require.config()可以对模块的加载行为进行自定义,并把模块变为全局可使用的。require.config()就写在主模块(main.js)的头部。 参数就是一个对象,这个对象的paths属性指定各个模块的加载路径。shim属性,专门用来配置不兼容的模块
require.config({
shim: {
"vectorlayer": ["protobuf"],
"mainlayercontrol": ["vectorlayer"]
},
paths: {
"interface": "../frame/module/intrfce",
"timeline": "../frame/module/timeli",
}
)}
require( [ ] ,function( ){ } )是require.js的核心之一,它接受两个参数。第一个参数是一个数组,表示所依赖的模块;第二个参数是一个回调函数,当前面指定的模块加载成功后,它将被调用。加载的模块会以参数形式传入该函数,从而在回调函数内部就可以使用这些模块。
define
模块必须采用特定的define()函数来定义。
define(id,dep,factory{})
- id:字符串,模块名称(可选)
- dep: 是我们要载入的依赖模块(可选),使用相对路径。,注意是数组格式
- factory: 工厂方法,返回一个模块函数