Requirejs多次加载相同的Javascript文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Requirejs多次加载相同的Javascript文件相关的知识,希望对你有一定的参考价值。

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

答案

我发现有些模块(js文件)被加载两次,有些被加载三次,这会导致问题。

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

另一答案

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

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

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

以上是关于Requirejs多次加载相同的Javascript文件的主要内容,如果未能解决你的问题,请参考以下文章

Requirejs常用配置和应用

RequireJS 与 SeaJS 的异同

jquery, jquery-ui, requirejs, bootstrap 的关系理解

requirejs加载资源,闪屏严重

Requirejs

无法使用 RequireJs 加载 Dojo 模块