javascript - 不能在 registerSuite Intern.js 中需要 AMD 模块

标签 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()”。我必须将“包含”代码转换为一个类并实例化一个对象才能使其工作。 require-way 不起作用有什么原因吗?

最佳答案

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

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

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

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

关于javascript - 不能在 registerSuite Intern.js 中需要 AMD 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33351557/

相关文章:

mysql - PassportJS MySql : do I really need to lookup database on every deserializeUser?

javascript - 异步加载模块属性

javascript - 迁移到 V5 后序列化记录问号而不是值

javascript - 新数据行上的 SQL 更新列

mysql - Nodejs breeze-sequelize with MySQL - .select() 不工作

javascript - CDN 上的服务器端渲染问题

javascript - 在 HTML 中动态创建的元素上运行函数

javascript - 当 div 在悬停时在其上翻译时如何隐藏文本?

javascript - 在requireJS中,后面定义一个命名模块不能覆盖之前的模块吗?

backbone.js - 主干 : Collection not being passed into view with Require. js