requirejs加载远程非AMD规范的模块(js)(
非AMD规范的模块在用require()加载之前,需要先用require.config()方法,定义它们的一些特征。如下)
require(['qsearch'],function(_Qsearch){
new _Qsearch(this,{ }); //调用qsearch里面的构造方法
});
需要一个config.js文件,配置路径:
require.config()接受一个配置对象,这个对象除了paths属性之外,还有一个shim属性,专门用来配置不兼容的模块。具体来说,每个模块要定义(1)exports值(输出的变量名),表明这个模块外部调用时的名称;(2)deps数组,表明该模块的依赖性。
require.config({在requirejs的引入的地方配置在 data-main里面配置config.js路径
baseUrl:"static/js", //如果是本地的话路径前缀配置
shim: {
'qsearch':{
exports: 'qsearch'
}
},
paths: {
"qsearch": "http://static.1n4j.com/static/newStatic/common/js/ui/qsearch"
}
});
<script type="text/javascript" data-main="$!staticModule.getTarget("/js/common/config")" src="$!staticModule.getTarget("/js/co