模板中的include、partial和block有何区别?EJS / ejs-locals

14
我最近使用 Express 和 Node.JS 的 EJS 一段时间了,我认为我已经理解了基本原理。我尝试使用 EJS 的 include 函数,在一个模板中包含另一个模板。我还使用了一个名为 ejs-locals 的库,它提供了易于使用的真正布局支持。我注意到 ejs-locals 还定义了 partialblock 函数,可以与 EJS 一起使用。但我找不到一个好的解释来说明这三个概念之间的区别。据我所知,它们是用于模板化的通用概念,不仅适用于 EJS。在我看来,partialblock 都是包含其他模板文件的方法,但它们有何不同?

这是ejs中的一个块实现 https://github.com/dheeraj-br/ejs_layout_implementation - some_groceries
1个回答

17

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

partials:与include几乎相同,唯一的区别是部分文件在渲染时只能访问传递给它的变量。

blocks:在布局中,您定义块内容应该放置的位置。在要呈现的文件中,您定义这些块的内容并定义您希望将块内容呈现到的布局。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接