【问题标题】:How do you request a named module with requirejs如何使用 requirejs 请求命名模块
【发布时间】:2014-08-13 12:33:23
【问题描述】:

我想我只是缺少一些简单的东西,但我一直在努力使用 requirejs (v2.1.14)。假设我有一个用名称定义的模块(可能来自 r.js 优化器):即

// mymodule.js
define("modname", ['dep1', 'dep2', 'dep3'], function(){ ... }); 

如果我尝试在其他地方要求该模块,它就不起作用。我试过使用

require(['../path/to/file/mymodule'], function(mod){ // mod is undefined here. } 

这会导致 mod 未定义,并且

require(['modname'], function(mod){...} 

which errors 在当前目录中查找名为 modname.js 的文件。一旦我从输出中删除定义语句的模块名称部分,它就会非常好地工作。

define(['dep1', 'dep2', 'dep3'], function(mod){ // mod is defined and good here }

我是否遗漏了一些需要命名模块的基本部分??

【问题讨论】:

    标签: javascript requirejs


    【解决方案1】:

    如果命名模块不在基本目录中(或定义在与 require 语句相同的文件中),Require 将不知道在哪里查找命名模块,因此您需要添加路径条目。不能使用相对路径语法。

    在您的配置中:

    paths: {
        'modname': 'path/to/mymodule',
    },
    

    优化器使用它来定义多个模块,同时将它们保存在一个文件中。

    【讨论】:

    • 工作就像一个魅力。我知道它必须是简单的:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多