在一个registerSuite Intern.js里面不能要求AMD模块
我有一些我想要的代码:
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()”没有在导航中find。 我不得不将“包含”代码转换为一个类,并实例化一个对象来使其工作。 请求方式不工作有一个原因吗?
加载AMD模块时,AMD require
function需要模块标识符,而不是文件path,因此您可以使用:
var navigation = require('something/navigation');
其中“东西”是包含你的模块的包,而模块名不是以“.js”结尾的。 你也可以使用一个相对的标识符
var navigation = require('../navigation');