繁体   English   中英

Express-Handlebars渲染div中的文件

[英]Express-Handlebars render file within div

我从NodeJs服务器获取文件路径。 例如

  • 文件/文本/ aMarkdownFile.md

  • 文件/图片/ bigImage.jpg

  • 文件/文本/ aTextFile.txt

我想在我的Handlebars div中渲染此文件内容

<div id="renderedFileContainer">
    {{requestedFile}}
</div>

我怎样才能做到这一点? 例如,Github能够在存储库视图中显示markdown文件和图像。 您可以在这里查看https://github.com/thenativeweb/wolkenkit (仅作为示例)。 如果没有其他方法可以为每种文件类型创建代码,那么我想重点介绍markdown文件。

服务器采用文件路径并将其发送到车把模板。 如何使模板在div容器中呈现文件?

您需要使用nodejs将文件内容读入字符串,然后将其传递到您的车把模板。

这样做有两种方式,第一个(简单)是使用fs.readFilefs.readFileSync在文件的内容看,然后传递作为价值requestedFile

第二种方法是创建一个车把帮助器 ,该帮助器可能会占用一个文件路径,然后在内部使用上述fs.readFile / fs.readFileSync 此处的区别在于您的视图层将读取并返回文件。 如果您要在整个应用程序中都使用它,这很有用,如果它只是放在一个地方,那么做一个助手可能就显得过头了。 这是用于创建车把帮助器的文档

在任一方法中,您都需要将字符串传递给模板,这只是您是从偏移量开始执行,还是由车把为您解决。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM