要求ejs的目的是什么?

What's the purpose of requiring ejs?

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

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

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

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

您正在通过以下方式设置 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

我们可以通过以下方式设置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