我从NodeJs服务器获取文件路径。例如
文件/文本/aMarkdownFile.md
文件/图像/bigImage.jpg
文件/文本/aTextFile.txt
我想在Handlebars div中渲染此文件内容
<div id="renderedFileContainer">
{{requestedFile}}
</div>
我该怎么做?例如, Github 可以在存储库视图中显示降价文件和图像。您可以在这里https://github.com/thenativeweb/wolkenkit(仅作为示例)。如果除了为每种文件类型创建代码外别无其他方法,我想重点关注 markdown 文件。
服务器采用文件路径并将其发送到车把模板。如何使模板在div容器中呈现文件?
答案 0 :(得分:0)
您需要使用nodejs将文件内容读入字符串,然后将其传递到您的车把模板。
有两种方法,第一种(也是最简单的方法)是使用fs.readFile
或fs.readFileSync
读取文件内容,然后将其作为{{ 1}}。
第二种方法是创建一个handlebars helper,该帮助程序可能会占用一个文件路径,然后如上所述在内部使用requestedFile
/ fs.readFile
。此处的区别在于您的视图层将读取并返回文件。如果您要在整个应用程序中都使用它,这很有用,如果它只是放在一个地方,那么做一个助手可能就显得过头了。 Here is the documentation for creating a handlebars helper。
在任何一种情况下,您都需要将字符串传递给模板,这仅是从偏移量开始执行,还是由车把为您解决。