【问题标题】:What's the purpose of requiring ejs?要求ejs的目的是什么?
【发布时间】:2021-07-11 01:36:06
【问题描述】:

在许多 ejs 的代码示例中,我看到这样的代码:

// ...
const ejs = require('ejs');
// ...
app.set('view engine', 'ejs');
app.get('/', function(req, res) {
    res.render('index');
});
// ...

但似乎从未使用过常量ejs。那么要求它的目的是什么?

当我选择需要或不需要 ejs 时,这似乎没有任何区别。

【问题讨论】:

    标签: node.js ejs node-modules templating


    【解决方案1】:

    我们可以通过以下方式设置ejs模板:app.set('view engine', 'ejs');

    这里我们不需要任何 ejs 导入。

    但是情况可能会出现这样的情况,您需要渲染一些 ejs 文件,然后传递数据并使用此模板做一些事情,然后在这些情况下,您必须要求 ejs,然后使用它的方法。例如:

    // ejs的模板示例:

    const ejs = require('ejs');
    ejs.renderFile(
    path.join(__dirname, '../../views/pages/your_ejs_file.ejs'),
    your_data,
    );
    

    这只是一个用例。 https://www.npmjs.com/package/ejs

    【讨论】:

      【解决方案2】:

      您正在通过以下方式设置EJS Template Engine

      app.set('view engine', 'ejs');
      

      但您也可以使用ejs 执行caching 操作,例如:

      const ejs = require('ejs'),
      const LRU = require('lru-cache');
      ejs.cache = LRU(100); // LRU cache with 100-item limit
      

      EJS 用于缓存用于渲染模板的JS 函数。如果想清除EJS 缓存,您可以简单地调用ejs.clearCache。这只是一个示例,但您可以通过多种方式使用ejsMore about Ejs

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-03-04
        • 2018-07-29
        • 2014-07-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多