我正在使用requirejs编写应用程序。我编写的一些模块只需加载多个组件以便于访问。当我通过requirejs优化器运行我的应用程序时,这些模块导致以下错误:
The following modules share the same URL. This could be a misconfiguration if that URL only has one anonymous module in it:
F:/nemesis/nemesis/src/nemesis.js: nemesis, nemesis
F:/nemesis/nemesis/src/_nemesis.js: _nemesis, _nemesis
F:/nemesis/nemesis/src/rendering/rendering.js: rendering/rendering, rendering/rendering] }
以下是它定义的每个模块的方式。
nemesis.js
define(["require", "exports", "_nemesis", 'rendering/rendering'], function(require, exports, _nemesis, Rendering) {
/* Definition code */
});
_nemesis.js
define(["require", "exports", "json!config.json"], function(require, exports, config) {
/* Definition code */
});
渲染/ rendering.js
define(["require", "exports", "_nemesis", "./shaders", "./primitive", "util/logging/consoleLogger"], function(require, exports, nemesis, Shaders, Render, Logger) {
/* Definition code */
});
最后这就是我要求配置的方式:
baseUrl: "src/",
name: "<%= pkg.name %>",
paths: {
text: "../node_modules/text/text",
json: "../lib/requirejs-plugins/json",
"config.json": 'empty'
},
out: 'build/<%= pkg.name %>.js',
optimize: 'none'
配置或声明模块错误或我在配置中遗漏了什么?
另外,我们从typescript生成的模块声明。使用typescript编译器的不同参数可以解决这个问题吗?
答案 0 :(得分:0)
我发现问题出在&#34; config.json&#34;在路径中。将其更改为
config: 'empty:'
使所有内容按预期编译。但是我不确定为什么这会导致我得到的错误或为什么
"config.json" : 'empty:'
不起作用,如果有人能够解释,我将不胜感激。