Express sendfile()vs render()

Sou*_*uet 45 node.js express

我尝试了res.render('index.html')和res.sendfile('index.html'),他们似乎都在做同样的事情.我没有发现Express文档非常有用.这两者有什么区别?

Che*_*sin 101

当您使用模板引擎(如HandlebarsJade)时,render方法会起作用.

模板引擎可以解析给定的模板文件并生成HTML输出.这样您就可以根据程序中的某些变量生成HTML网页.

在编写具有前端的应用程序时,此类模板通常与ExpressJS一起使用.

另一方面,sendfile方法只是将给定文件发送到客户端,而不管文件的类型和内容如何.

由于您使用的是HTML文件,因此模板引擎无需特别解析.因此,render的输出与sendfile的输出相同(即,在文件中写入的HTML).因此,两者都产生相同的结果.