【问题标题】:Modules share the same url when only declared once in requirejs仅在 requirejs 中声明一次时,模块共享相同的 url
【发布时间】:2014-10-15 05:20:44
【问题描述】:

我正在使用 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 */
});

最后这就是我 requirejs 的配置方式:

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 生成的模块声明。打字稿编译器的不同参数可以解决这个问题吗?

【问题讨论】:

    标签: javascript requirejs typescript


    【解决方案1】:

    我发现问题在于路径中的“config.json”。将其更改为

    config: 'empty:'
    

    使一切都按预期编译。但是我不确定为什么这会导致我收到错误或为什么

    "config.json" : 'empty:'
    

    不起作用,所以如果有人能解释一下,我将不胜感激。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-07
      • 1970-01-01
      • 2021-10-12
      • 2012-10-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多