首页 > 解决方案 > Requirejs 多次加载相同的 Javascript 文件

问题描述

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

标签: javascripttypescriptrequirejs

解决方案


在另一个答案的帮助下:https://stackoverflow.com/a/16380692/6305376,我将以下内容添加到我的data-main文件中并且它有效:

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

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


推荐阅读