如何使用requireJs加载多个模板文件?

时间:2016-12-15 06:34:38

标签: javascript requirejs

我正在使用需要JS 来加载JS中的供应商文件和模板。

我希望在页面中加载所有相关模板时调用一个函数。

目前我需要嵌套调用如下:

requirejs(['text!templates/stream/leaderboard_m.ejs'], function(Leaderboard_M) 
{
      requirejs(['text!templates/stream/leaderboard_tl.ejs'], function(Leaderboard_TL) {

                    loadLeadrboardData(Leaderboard_M, Leaderboard_TL);

   });
});

我想在1声明中这样做:

如何使用require JS?

2 个答案:

答案 0 :(得分:0)

看看这个:http://requirejs.org/docs/api.html#defdep

这就是你想要的:

define([
    "./services/MyFirstService",
    "./services/MySecondService",
    "./services/MyThirdService",
], 
function (
    MyFirstService, 
    MySecondService, 
    MyThirdService
) {
    // all files loaded and can be used now!
});

答案 1 :(得分:0)

您可以将其缩小为:

requirejs(['text!templates/stream/leaderboard_m.ejs',
           'text!templates/stream/leaderboard_tl.ejs'],
           loadLeadrboardData);

传递给require(aka。requirejs)调用的列表中的所有项都会在加载回调之前加载。并且回调将以相同的顺序加载依赖项列表中的每个项的结果。因此,您可以直接requirejs致电loadLeadrboardData

(我希望该函数拼写正确loadLeaderboardData,而不是loadLeadrboardData且缺少e,但这与此处提出的问题相关。)