0

我正在尝试将 prismic.io 集成到一个现有项目中,在该项目中我使用把手作为模板引擎。

以下是 Prismic.io 文档中如何使用 Pug 渲染视图的示例:

div.welcome
    img(src=pagecontent.getImage('page.image').url, class='star')
    != pagecontent.getStructuredText('page.title').asHtml(ctx.linkResolver)
    != pagecontent.getStructuredText('page.description').asHtml(ctx.linkResolver)

工作正常,但是当我试图在 Handlebars 中做这样的事情时:

{{{pagecontent.getStructuredText('page.title').asHtml(ctx.linkResolver)}}}

我收到一个错误:

错误:第 13 行的解析错误:...
{{{pagecontent.getStructuredText('p ------------^ Expecting 'ID', got '无效的'

有没有办法可以将 prismic.io 与 Handlebars 模板引擎一起使用?

4

1 回答 1

0

您需要将这些功能注册为 Handlebars 助手,否则您无法调用它们。例如:

app.engine('.hbs', expressHbs({
 defaultLayout: 'main',
 extname: '.hbs',
 layoutsDir: path.join(__dirname,'/views/layouts'),
 helpers: {

    PrismicText: (data) => {
        return PrismicDOM.RichText.asText(data, PrismicConfig.linkResolver)
    }
}
}));
于 2017-11-19T00:49:58.287 回答