[英]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.readFile
或fs.readFileSync
在文件的内容看,然后传递作为价值requestedFile
。
第二种方法是创建一个车把帮助器 ,该帮助器可能会占用一个文件路径,然后在内部使用上述fs.readFile
/ fs.readFileSync
。 此处的区别在于您的视图层将读取并返回文件。 如果您要在整个应用程序中都使用它,这很有用,如果它只是放在一个地方,那么做一个助手可能就显得过头了。 这是用于创建车把帮助器的文档 。
在任一方法中,您都需要将字符串传递给模板,这只是您是从偏移量开始执行,还是由车把为您解决。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.