Requirejs 多次加载相同的 Javascript 文件

Requirejs is loading the same Javascript files multiple times

我在我的 Typescript 项目中使用 requirejs 作为模块加载器。我发现有些模块(js 文件)加载了两次,有些模块加载了三次,这会导致问题。可能是什么原因?会不会是因为导入这些模块时的相对路径不一样?这就是我所怀疑的。如何解决?

I found out that some modules (js files) are loaded twice and some are loaded three times and this causes problems.

确保您不使用文件扩展名。这是一个已知问题(模块 x.js 不同于 x

在 SO 的另一个答案的帮助下:,我将以下内容添加到我的 data-main 文件中并且它起作用了:

require.config({
    baseUrl: './', 
 }
)

显然,如果从不同模块导入不同的相对 urls,Requirejs 会为同一个文件创建不同的模块。因此,设置一个基 url 这样会强制所有 Requirejs 模块的名称相对于最外层的文件夹,从而在模块和它们的名称之间建立一对一的映射。所以每个模块只加载一次。