对不符合AMD规范的js脚本使用shim
做导出配置,哪里不对?
demo:https://github.com/xiaodongzai/demos/tree/gh-pages/requirejs_shim
shim的使用
//app.js require.config({ baseUrl: "./js", paths:{ 'jquery': "jquery", 'log': 'log' }, shim:{ 'log':{ deps: ['jquery'], exports: 'log' } } }); require(['jquery','log'], function ($,log) { log.writeLog('测试测试!!!'); });
//log.js function writeLog(x){ document.write(x); }
异常信息:
打印出来是什么?
你的log模块没有定义,所以不能require。
你的log.js里面应该这样写:
define(function(){
var log = {};
log.writeLog = function(str){
};
return log;
});
app.js修改如下:
注意:exports只会输出某一个方法或变量
想问下楼主,这个问题解决了没有