布局不呈现模板主体"/>
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:布局不呈现模板主体
发布评论