我使用text
的{{1}}插件来包含一些html模板,如下所示:
require.js
我真的没有必要保留对每个模板的引用(即使我现在正在这样做);我真的只需要将所有模板转储到我的define([
'text!/assets/templates/home/myApp.templates.home.home-pane.html',
'text!/assets/templates/nav/myApp.templates.nav.top-navbar.html',
'text!/assets/templates/shared/myApp.templates.shared.layout.html',
...
], function (HomeTmpl, TopNavbarTmpl, SharedLayoutTmpl, RegisterVerticalTmpl, LoginVerticalTmpl, ThingListItemTmpl, ThingSearchTmpl, TestTestTmpl) {
var allHtml = function () {
return HomeTmpl + TopNavbarTmpl + SharedLayoutTmpl + RegisterVerticalTmpl + LoginVerticalTmpl + ThingListItemTmpl + ThingSearchTmpl + TestTestTmpl;
}
return {
All: allHtml,
HomeTmpl: HomeTmpl,
TopNavbarTmpl: TopNavbarTmpl,
...
}
});
。
这种做事方式很麻烦,因为它要求我为每个新的模板html文件添加引用,而不是双关语。
我想做的是这样的事情:
head
有可能这样做吗?如果是这样,将所有包含的文件包含在一起作为一个大引用的语法是什么?
答案 0 :(得分:5)
RequireJS不支持此功能,因为它(始终)无法从远程服务器获取目录列表。你想要的是像Grunt这样的构建工具。
例如,使用grunt-contrib-concat任务,您可以使用此配置将所有模板连接到单个文件(然后使用RequireJS包含该文件):
concat: {
templates: {
src: ['assets/templates/*'],
dest: 'templates.html'
}
}