Javascript 了解如何使用requirejs和text js在主干应用程序中加载html模板
我正在学习主干js,试图做一个小项目 在of te页面中,我从cloudflare CDN加载require.js和text.jsJavascript 了解如何使用requirejs和text js在主干应用程序中加载html模板,javascript,backbone.js,requirejs,Javascript,Backbone.js,Requirejs,我正在学习主干js,试图做一个小项目 在of te页面中,我从cloudflare CDN加载require.js和text.js <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/require.js/2.1.8/require.min.js">//</script> <script type="text/javascript" src="//cdnjs.cloudflare
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/require.js/2.1.8/require.min.js">//</script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/require-text/2.0.10/text.js">//</script>
问题:
var Boxes = Backbone.View.extend({
el : '.content',
render : function () {
var that = this; // This backbone view
var template = _.template($('#user-list-template').html(), {});
that.$el.html(template);
}
});
谢谢!当您使用require.js时,您在页面中只使用一个脚本标记。其他所有内容都由require.js加载 要使用插件,您需要在
require.config
require.config({
paths: {
text: "path/to/text"
}
});
然后在您的模块中,您只需将其称为:
define([
"text!path/to/tpl"
], function( tplString ) {
});
但是请注意,如果您正在管理模板,最好是加载预编译的模板。文本插件只返回字符串,这对优化不太好,并会迫使您重复模板编译逻辑。您应该使用模板加载插件,对于下划线/lodash微模板,我建议您使用此插件:
如果您想要一个使用Require.js和Backbone的应用程序示例,您应该真正检查一下Backbone样板文件:
主干模板是使用主干开发的最佳实践快速设置项目的好方法。此外,它广泛使用AMD,因此,如果您是第一次使用它,您将有一个工作设置。在HTML文件中,您只需要加载如下所示的requrejs 配置requirejs 之后,您可以使用“define()/require()”加载模板,如
define(['text!../../templates/app/content.about.html'],...);
参见此处了解我很惊讶require.js文档中没有明确说明此类信息。似乎无法从CDN加载文本插件。遇到了完全相同的问题,不幸的是文本插件必须相对于主脚本托管在本地。您的答案令人困惑。您是否建议是否有使用模板时应该使用的插件文本?文本插件是模板插件的一项要求,但使用模板插件通常“更好”,因为它可以缓存已编译的模板以供重用,而不是每次从字符串重新编译。
<script type="text/javascript" data-main="js/main" src="js/libs/require-2.1.2.min.js"></script>
require.config({ ... });
define(['text!../../templates/app/content.about.html'],...);