RequireJS-加载多个配置文件
我正在尝试加载几个RequireJS配置。在我的html中,我通过RequireJS-加载多个配置文件,requirejs,Requirejs,我正在尝试加载几个RequireJS配置。在我的html中,我通过 <script src="../lib/require.js" data-main="../app/requireConfig"></script> 但是,我得到以下错误: 未捕获错误:不匹配的匿名定义()模块:函数(记录器){ 与所述问题(加载多个配置)没有直接关系,但由代码加载的组织方式引起。如手册所述: 要避免此错误,请执行以下操作: 请确保通过RequireJS API加载所有调用defin
<script src="../lib/require.js" data-main="../app/requireConfig"></script>
但是,我得到以下错误:
未捕获错误:不匹配的匿名定义()模块:函数(记录器){
与所述问题(加载多个配置)没有直接关系,但由代码加载的组织方式引起。如手册所述:
要避免此错误,请执行以下操作:
- 请确保通过RequireJS API加载所有调用define()的脚本。不要手动在HTML中编写脚本标记以加载其中包含define()调用的脚本
- 如果手动编写HTML脚本标记,请确保它只包含命名模块,并且未加载与该文件中的某个模块同名的匿名模块
define
调用的依赖项列表中,并且是requirejs本身决定了它的脚本路径,那么它会在文件后面命名模块
一般来说,建议只使用一个脚本标记加载所有requirejs管理的javascript。这使得开发设置更接近最终优化的情况(所有脚本连接在一起)。如有必要,仍可以在单个模块内调用require.config
,并仅在文档准备就绪后执行某些代码。例如,我们的许多应用程序在其main.js
中执行以下操作(该模块由requirejs脚本标记加载):
define(['sharedServices/logger'], function (logger) {
function configVideo() {
logger.info('Adding video modules');
require.config({
path: {
Capabilities: 'videoProvider/Capabilities',
VideoProviderEnums: 'videoProvider/VideoProviderEnums',
VideoProviderCommon: 'videoProvider/VideoProviderCommon',
VideoProviderInstance: 'videoProvider/VideoProviderInstance',
DummyVideoInstance: 'videoProvider/DummyProvider/DummyVideoInstance'
}
});
}
return {
configVideo: configVideo
};
})
// sort of bootstrap config
require.config({
packages: [{
name: "our-framework",
location: "../../our-framework/src/"
}],
// here some app-specific requirejs options
waitSeconds: 5
});
// load the framework, the "our-framework/rjs-config" contains
// framework specific requirejs config (another require.config call)
require(["our-framework/rjs-config"], function() {
// in this context both require configs are loaded
require(["application"], function(application) {
application.init().run();
});
});