Javascript RequireJS向模块传递配置时始终返回未定义的

Javascript RequireJS向模块传递配置时始终返回未定义的,javascript,jquery,requirejs,Javascript,Jquery,Requirejs,例如,我在其他SO帖子中尝试过该解决方案,但似乎不起作用。结果我总是没有定义 我的配置在我的HTML中 <script type="text/javascript"> var require = { config: { 'config': { --> if I change this to app, I could read the value in app.js userId: 1

例如,我在其他SO帖子中尝试过该解决方案,但似乎不起作用。结果我总是没有定义

我的配置在我的HTML中

<script type="text/javascript">
    var require = {
        config: {
            'config': { --> if I change this to app, I could read the value in app.js
                userId: 1
            }
        }
    };
</script>
<script src="lib/require.min.js" data-main="app"></script>
我在应用程序中使用配置模块

require(['modules/config', 'modules/A'], function (config, a)
{
    var userId = config.userId; --> undefined
    var userName = config.userName; --> Test
});

有什么想法吗?我错过什么了吗?我使用JQuery 1.12.3和RequireJS 2.2.0。

我遵循以下技术使其工作。HTML中包含的文件。它们可以在
config
路径中定义

目录结构:

-index.html
-modules
    - myModule.js
-app.js
HTML(index.HTML)

最后是我的app.js

define("modules/myModule",function ()
{
    return function(){
        return requireVar.config.userId;
    }
});
require(['modules/myModule'], function (myModule)
{
    alert("");
    var userId = myModule(); 
    console.log(userId);
});
解决方案 编辑传递给RequireJS的配置:

var require = {
  config: {
    'modules/config': {
      userId: 1
    }
  }
};
解释 您的模块ID不匹配。当您需要模块时,可以使用
require(['modules/config',…
。因此模块名称为
modules/config
。但是,在您的RequireJS配置中,您为名为
config
的模块提供了一个配置。因此,当您使用
module.config()时
modules/config
中,RequireJS在配置中搜索名为
modules/config
的模块,但未找到该模块。因此您未定义。执行我前面提到的修复程序将允许RequireJS查找配置

或者,您可以使用
路径
配置
的名称加载模块:

var require = {
  paths: {
    config: 'modules/config'
  },
  config: {
    config: {
      userId: 1
    }
  }
};

使用
require(['config',…

哇,谢谢!我是新来的RequireJS,正在尝试掌握它的窍门。很乐意帮忙。顺便说一句,我并不是那个否决你的问题的人。(只是说,因为时间可能会让它看起来像我一样。)我实际上已经投票了,因为它很容易被RequireJS中的模块ID绊倒。
var require = {
  config: {
    'modules/config': {
      userId: 1
    }
  }
};
var require = {
  paths: {
    config: 'modules/config'
  },
  config: {
    config: {
      userId: 1
    }
  }
};