我有一些我想要的代码:
define(function(require)
{
return stuff {
my_func: function()
{
return 1;
}
};
});
我尝试在registerSuite中要求它。
registerSuite(function()
{
var navigation = require('path/to/navigation.js');
'my test': function()
{
return navigation.my_func();
}
});
这给了我一个错误" my_func()"在导航中找不到。我不得不转换" include"代码到一个类中并实例化一个对象以使其工作。是否有理由要求方式不起作用?
答案 0 :(得分:1)
加载AMD模块时,AMD require
函数需要模块标识符,而不是文件路径,因此您可以使用:
var navigation = require('something/navigation');
其中'something'是包含模块的包,模块名称不以'.js'结尾。您还可以使用相对标识符,例如
var navigation = require('../navigation');