如果想在requirejs中嵌入自己以前的某些代码,但是这些代码没有遵守AMD规范,该怎么办呢?骚年不用担心,require的config中的shim能帮你解决痛苦!例如本人的文件目录结构如下:
图片描述

我想要在quikTip.js文件中使用framewokr.js提供的对象,但是framework.js是不遵守AMD规范的,在quikTip.js文件中require framework模块之前必须先处理下framework.js使其符合AMD规范,代码如下:

require.config({
baseUrl:'js/utily',//指定js文件的基路径
shim:{
         'framework':{//这个键名为要载入的目标文件的文件名,不能随便命名否则加载framework.js文件后是拿不到改文件对外提供的接口的。因为这个坑了哥一下午!!!
             exports:'PXJSFrame'//exports的值为framework.js提供的 对外接口的名称
         }
     }
 });
 
 require(['framework'],function(frame){
     var PXJSFrame = frame;
     console.log(frame);//此处就会打印framework.js中对外提供的接口对象啦
 }
 

转自:http://www.w2bc.com/Article/40085


gaowei
103 声望9 粉丝

Challenge Limits