我目前正在使用 underscore.js 在项目中进行模板化,模板存储在脚本标签中,类型为文本/模板,并通过 id 加载。我想知道是否可以继续使用相同的系统,但将模板移动到单独的文件中?
我能想到的唯一方法是在单独的文件中将模板声明为全局变量,但这看起来很难看。
注意:我不想在部署时使用 Jammit 或其他构建系统将所有内容混合到一个文件中,想知道是否有其他解决方案。
最佳答案
我个人使用 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,但如果您使用其他东西,原理是相同的。
关于javascript - 从单独的文件加载 underscore.js 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8995702/