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 模块的名称相对于最外层的文件夹,从而在模块和它们的名称之间建立一对一的映射。所以每个模块只加载一次。
我在我的 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 模块的名称相对于最外层的文件夹,从而在模块和它们的名称之间建立一对一的映射。所以每个模块只加载一次。