从单独的文件加载underscore.js模板

时间:2012-01-24 23:14:59

标签: javascript underscore.js templating

我目前正在项目中使用underscore.js进行模板化,模板存储在脚本标签中,文本/模板类型由id加载。我想知道是否可以继续使用相同的系统,但将模板移动到一个单独的文件?

我能想到的唯一方法是将模板声明为单独文件中的全局变量,但这看起来很难看。

注意:我不想在部署时使用Jammit或其他一些构建系统将所有内容混合到一个文件中,想知道是否有其他解决方案。

1 个答案:

答案 0 :(得分:0)

我个人使用RequireJS将模板加载到模块中,但如果您正在寻找其他东西,则可以使用Ajax。

只要您的模板位于同一个域中,您就可以通过ajax获取它们 请求。如果使用我的小部件的人没有使用AMD兼容的库,我会回到以下代码:

$.ajax({
    url: root.WIDGET.BaseUrl + 'templates/widget.html',
    asynx: false, // synchonous call in case code tries to use template before it's loaded
    success: function (response) {
        widgetTemplate = response;
    }
});

这假设您正在使用jQuery,但如果您使用其他内容,原则是相同的。