不能在registerSuite .js中要求AMD模块

Cannot require AMD module inside a registerSuite Intern.js

本文关键字:AMD 模块 registerSuite js 不能      更新时间:2023-09-26

我有一些我想要的代码:

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"代码转换为一个类,并实例化一个对象以使其工作。需求方式不起作用有什么原因吗?

当加载AMD模块时,AMD require函数需要一个模块标识符,而不是文件路径,所以您可以使用:

var navigation = require('something/navigation');

,其中'something'是包含你的模块的包,并且模块名不以'.js'结尾。还可以使用相对标识符,如

var navigation = require('../navigation');