首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在dot.js模板引擎中包含页眉、页脚?

如何在dot.js模板引擎中包含页眉、页脚?
EN

Stack Overflow用户
提问于 2013-02-25 02:11:36
回答 2查看 1.8K关注 0票数 1

我想我要做的(according to docs on git hub)就是把{{#def.loadfile('/snippet.txt')}}放到我的模板中,这样它看起来就像这样:

代码语言:javascript
复制
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset='utf-8'>
        <title>Data</title>
        <link href="/css/style.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
        {{#def.loadfile('/views/includes/header.txt')}}
        <section>
            {{~it.arrOut:value:index}}
                {{=value}}!
            {{~}}
        </section>
    </body>
    </html>

但它似乎没有起作用。我甚至尝试过导入withdoT.js,但仍然没有结果。所有我得到的是“内部服务器错误”,如果你能够使文件包括在dot.js上的工作,请你分享你的知识。我喜欢这个漂亮的引擎,但是它的文档就不那么漂亮了。

EN

回答 2

Stack Overflow用户

发布于 2013-10-20 21:47:37

我不知道它是否适用于您,但是在nodejs上,使用expressjs和express-dot.js,我所做的是定义loadfile:

在app.js中

代码语言:javascript
复制
var doT = require('express-dot');
doT.setGlobals({
    loadfile:function(path){return fs.readFileSync(__dirname + path, 'utf8');}
});

在index.dot中:

代码语言:javascript
复制
{{#def.loadfile('/views/_submit_form.html')}}

基本上,它将loadfile作为一个函数添加,该函数接受一个路径并在dotjs的"def“对象中输出一个字符串。

您当然可以根据您的特定需求对其进行调整和增强。

票数 1
EN

Stack Overflow用户

发布于 2014-04-23 08:33:09

我很确定doT正在寻找的includes是从当前文件所在的同一目录开始的。假设当前模板位于视图内部,我认为只要从路径中删除"/views“就可以了……

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15054846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档