Javascript 在单个文件中加载主干/下划线模板

Javascript 在单个文件中加载主干/下划线模板,javascript,jquery,backbone.js,underscore.js,templating,Javascript,Jquery,Backbone.js,Underscore.js,Templating,我有一个主干应用程序,由symfony2服务器提供服务 我有很多主干视图,每个视图都有几个模板,它们在不同的时间使用下划线的模板引擎呈现 我正试图找出如何以最大效率为客户提供下划线模板。 到目前为止,我已经在twig中编写了所有模板,然后在初始请求期间将它们作为内联脚本标记呈现给响应HTML。这导致用户第一次进入我的应用程序时服务器的响应时间很长 输出示例: <html> <head> ... </head> <body> <s

我有一个主干应用程序,由symfony2服务器提供服务

我有很多主干视图,每个视图都有几个模板,它们在不同的时间使用下划线的模板引擎呈现

我正试图找出如何以最大效率为客户提供下划线模板。

到目前为止,我已经在twig中编写了所有模板,然后在初始请求期间将它们作为内联脚本标记呈现给响应HTML。这导致用户第一次进入我的应用程序时服务器的响应时间很长

输出示例:

<html>
<head>
   ...
</head>
<body>
    <script type="text/template" id="template1">
        <div class="example">
            <%= someparam %>
        </div>
    </script>
    <script type="text/template" id="template2">
        <div class="anotherExample">
            <%= otherparam %>
        </div>
    </script>
    ...
    ...
    ...
</body>
</html>

...
...
...
...
备选方案

现在我正在寻找一种更好的方法来加载这些模板。也许通过在单个文件中的第二个请求中获取它们,比如外部JS文件。但无论我做了什么尝试,我都发现很难访问单个模板(比如通过id引用它们)或将它们保持在一个有效的结构中(在单个文件中,并且没有太多的字符串操作或太多的http请求)

TL;博士

<强>一个加载多个下划线模板如何?< /强>

< p>您可以考虑JST方法,它将模板连接到一个JavaScript文件中。模式如中所述


我不熟悉Symfony/Twig,所以我不知道是否有可用的工具。根据您的问题,我想使用现有工具将模板呈现为javascript文件而不是HTML文档是很容易的。

我认为对您来说更好的方法-它是预编译模板,尝试使用,它将帮助您获得包含所有模板的单个文件

例如,从命令行

jsttojs templates compiled/templates/index.js --ext mustache --watch
或者用溶液来咕噜咕噜