我认为我只是缺少一些简单的东西,但我一直在努力使用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){...}
哪些错误在当前目录中查找名为modname.js的文件。一旦我从输出中删除了define语句的模块名称部分,它就会非常有效。
define(['dep1', 'dep2', 'dep3'], function(mod){ // mod is defined and good here }
我错过了一些需要命名模块的基本部分吗?
答案 0 :(得分:1)
如果命名模块不在基本目录中(或在与require语句相同的文件中定义),则需要知道在哪里查找命名模块,因此需要添加路径条目。您不能使用相对路径语法。
在你的配置中:
paths: {
'modname': 'path/to/mymodule',
},
优化器使用它来定义多个模块,同时将它们保存在一个文件中。