eta:布局不呈现模板主体

编程入门 行业动态 更新时间:2024-10-02 10:41:56

eta:<a href=https://www.elefans.com/category/jswz/34/1769842.html style=布局不呈现模板主体"/>

eta:布局不呈现模板主体

我目前正在使用 express 和 eta 实现一个 Web 应用程序,我没有在我的模板中包含任何类型的部分。

我试图包含一个文件部分(Docs),但编译的模板不会包含包含文件的 HTML 内容。 我也尝试在我事先为 eta 创建的单例中定义一个部分。

src/services/etaSingleton.ts

import * as eta from 'eta';
import { includeFile } from 'eta/dist/types/file-handlers';
import { readFileSync } from 'fs';


class EtaSingleton {
    private static instance:any;

    // eslint-disable-next-line @typescript-eslint/no-empty-function
    private constructor() {}

    static getInstance(): any {
        if (!EtaSingleton.instance) {
            eta.configure({
                tags: ['{{', '}}'],
                views: __dirname + '/../views',

            });
            //console.log(readFileSync(__dirname + '/../views/incl/head.eta', {encoding:'utf8', flag:'r'}).toString());
            //eta.templates.define('head', etapile(readFileSync(__dirname + '/../views/incl/head.eta', {encoding:'utf8', flag:'r'}).toString(), {}));
            EtaSingleton.instance = eta;
        }

        return EtaSingleton.instance;
    }
}

export default EtaSingleton.getInstance();

我最终改用布局

src/views/incl/layout.eta

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>{{ it.title }}</title>
  </head>
  <body>
    {{ it.body }}
    <footer>Copyright SomeCo, Inc.</footer>
  </body>
</html>

src/views/index.eta

{{ layout('./incl/layout') }}

<div id="content">
  Hello world
</div>

如您在屏幕截图中所见,模板的内容未呈现到布局中。

回答如下:

您忘记添加

=
符号以将数据放入模板;)。

所以应该是

{{= it.title }}
{{= it.body }}
(或者
{{~ it.body}}
,如果是HTML的话)

更多推荐

eta:布局不呈现模板主体

本文发布于:2024-05-30 13:33:31,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1770549.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:布局   主体   模板   eta

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!