寄存器中不能要求AMD模块.Inite.js

时间:2015-10-26 17:08:30

标签: javascript node.js amd intern

我有一些我想要的代码:

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"代码到一个类中并实例化一个对象以使其工作。是否有理由要求方式不起作用?

1 个答案:

答案 0 :(得分:1)

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

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

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

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