gpt4 book ai didi

Backbone.js 和 Handlebars - 使用 grunt-contrib-handlebars

转载 作者:行者123 更新时间:2023-12-02 05:13:20 24 4
gpt4 key购买 nike

我只是想知道是否有人在 Backbone 项目中使用过这个插件。

我不想将所有脚本模板标签都放在一个索引文件中,而是想将我的模板放在与需要它们的 View 相同的目录中。

所以我希望我可以使用节点选项来要求本地模板并呈现给它,然后附加到我的索引文件上的#id(我将在最后整理)。

所以基本上我有我的 handlebars 模板 (template.hbs) 及其编译的 js (template.js) 以及我的主干 View index.coffee。

public
|_ coffee
|_views
|_card
|_list
index.coffee
template.hbs
template.js

作为引用,我的 grunt 文件如下所示:

handlebars: {
compile: {
options: {
namespace: 'MyApp.Templates',
node: true
},
files: {
"public/coffee/views/card/list/template.js": "public/coffee/views/card/list/template.hbs"
}
}
},

在我的主干 View (index.coffee) 中,我希望像这样需要 handlebars 模板:

class CardList extends Backbone.View
template: require('./template')



do some other shiz



render: =>
template = Handlebars.compile($(this.template).html())
html = template
model: this.model
$(this.el).html(html)

渲染这个是在检查器中吐出这个错误:

Uncaught [object Object]

> template = handlebars.compile($(this.template).html());

我显然不知道我在做什么,所以我希望有人能告诉我如何正确使用这个插件。

我正在使用 grunt-contrib-handlebars v0.3.5

感谢任何帮助。

谢谢

最佳答案

您可以通过 building the files object dynamically 实现这一目标.

也许是这样的,虽然我不确定 cwd 是否支持 globbing 模式。我也不确定 dest 是否相对于 cwd。如果不是这种情况,这将行不通,但值得一试。

handlebars: {
dist: {
options: {
namespace: 'MyApp.Templates',
node: true
},
// Glob for a directory of files, builds the files object, then map each
// one to a new destination file.
expand: true,
cwd: './public/coffee/views/*',
src: '**/*.hbs',
dest: './',
ext: '.js'
}
},

关于Backbone.js 和 Handlebars - 使用 grunt-contrib-handlebars,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15039572/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com