最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

eta:布局不呈现模板主体

网站源码admin37浏览0评论

eta:布局不呈现模板主体

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的话)

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论