我可以将davisjs用作带有requirejs的AMD模块吗?我试过了,但也许我在require config中忘记了什么?
requirejs([
"jquery",
"davis"
],
function ($, routing) {
var app = routing(function () {
this.get('/welcome/:name', function (req) {
alert("Hello " + req.params['name']);
});
});
}
这有效:
var app = Davis(function () {..});
答案 0 :(得分:1)
听起来像有人遇到了失踪的情况。您需要配置RequireJS以使非AMD兼容的库适应这样的AMD模块:
requirejs.config({
paths: {
Davis: 'script/davis'
},
shim: {
Davis: {
exports: 'Davis'
}
}
});
require([
"Davis"
], function (davis) {
console.log("Davis?", davis);
});
中的更多信息
直接调用Davis()
,因为它在全局范围内可用;它只是没有“注册”为AMD模块:这就是为什么在RequireJS请求时它是undefined
。