在requirejs中只声明一次时,模块共享相同的url
Modules share the same url when only declared once in requirejs
我正在使用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/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编译器的不同参数能解决这个问题吗?
我发现问题出在路径中的"config.json"。将其更改为
config: 'empty:'
使所有内容都按预期编译。然而,我不确定为什么这会导致我得到的错误,或者为什么
"config.json" : 'empty:'
不起作用,所以如果有人能解释一下,我将不胜感激。
相关文章:
- NodeJS 是否重用已经加载的模块并共享其值?
- 如何在 Angularjs 中的交叉模块之间共享数据
- 节点模块对象范围:在所有函数之间共享一个对象
- 负载角度依赖关系之间的区别是什么,共享模块的最佳方式是什么
- 如何在模块之间共享对象
- 在模块之间共享的事件发射器
- 如何在 AngularJS 中的两个独立模块之间共享数据
- RequireJS:如何处理浏览器和服务器之间共享的代码的不同模块依赖关系
- 跨多个角度模块共享数据、事件
- 什么被认为是在节点模块中共享“全局”变量的好方法
- Angular - 如何在模块之间共享控制器
- 在两个不同的模块和两个不同的js文件之间共享服务
- 推荐的组织共享模块 browserify/nodejs 的方法
- GWT:在同一模块的实例之间共享信息
- JavaScript - 如何注入不同的函数实现,例如 alert(与 web 和 Node 共享模块.js服务器端)
- 在requirejs中只声明一次时,模块共享相同的url
- AngularJS为什么我不能与另一个模块共享一个提供商?
- Requirejs——通过不同的模块共享相同的依赖项
- AngularJS模块依赖注入与父模块共享它的依赖
- 跨多个模块的单一依赖——r.js "以下模块共享相同的URL"