包含模板,部分模板和/或块模板之间的区别是什么? EJS / ejs-当地人

我一直在使用EJS和Express和Node.JS一段时间,我想我理解基础知识。 我已经试验了EJS include函数,它允许我在一个模板中包含另一个模板。 我也使用了一个名为ejs-locals的库,它提供了简单的布局支持。 我注意到的一件事是ejs-locals也定义了可以与EJS一起使用的partialblock函数。 我似乎无法find这三个概念之间的区别的一个很好的解释。 据我所知,他们是模板化的一般概念,而不仅仅是EJS。 在我看来, partialblock都是包含其他模板文件的方式,但它们又有什么不同呢?

include :简单地从给定的文件中获取内容,并将其放在include语句所在的位置。 换句话说:文件可以访问包含在其中的文件中定义的所有variables。

partials :与include几乎相同,区别在于partial只能访问渲染时传递给它的variables。

blocks :在您的布局中,您可以定义块的内容应该在的位置。 在你渲染的文件中,你定义了这些块的内容,并定义了你希望块内容渲染的布局。