我已经在Express和Node.JS上使用EJS了一段时间,我想我已经理解了基础知识。我已经尝试了EJS include
函数,它允许我将一个模板包含在另一个模板中。我还使用了一个名为ejs-locals的库,它提供了简单的真正布局支持。我注意到的一件事是ejs-locals还定义了可以与EJS一起使用的partial
和block
函数。我似乎无法找到这三个概念之间的差异的良好解释。据我所知,它们是模板化的一般概念,而不仅仅是EJS。在我看来,partial
和block
仍然是包含其他模板文件的方式,但它们有何不同?
答案 0 :(得分:13)
include
:只需从给定文件中获取内容并将其放在include
语句所在的位置。换句话说:该文件可以访问它所包含的文件中定义的所有变量。
partials
:与include
几乎相同,区别在于部分只能访问渲染时传递给它的变量。
blocks
:在您的布局中,您可以定义块的位置'内容应该是。在渲染的文件中,您可以定义这些块的内容,并定义要将块内容渲染到的布局。