我有一个EJS模板,有<%- include('other-template'); %>在它.

当我使用Express.js呈现模板时,它工作得很好.

然而,当我使用await ejs.renderFile('main.ejs', {async: true})操作时,我看到的不是呈现的子模板,而是[object Promise]字符串.

我应该怎么做才能让ejs正确地呈现子模板?

推荐答案

对于async:true,include也返回promise ,因此try 等待每个部分:在每个include上添加await:

<%- await include('other-template'); %>

Node.js相关问答推荐

@nuxtjs/站点 map 错误提示:找不到包';NitroPack';

为什么我的过滤器无法在我在下面编写的 Google Analytics 4 应用程序脚本代码中工作?我该如何修复它?

Nestjs swc 错误:找不到模块项目路径/src/app.module

Next.js 路由不起作用 - 页面未正确加载

Prisma,只有一个用户的行可以有真值,@@unique(userId, isActive)

express app.post的多个参数在Node.js中的定义是什么

在 .htaccess 中从非 www 切换到 www 后如何解决无法访问该站点?

为什么运行 yarn 命令会出错 - yargs-parser的完整性判断失败

如何避免在 mongodb 聚合中查找重复结果?

在 nodejs 中使用 multer 上传文件返回未定义的 req.file 和空的 req.body

强制 TypeScript 生成带有.js扩展名的导出/导入;运行 node 16?

如何调用同名的两个函数?

WSL2 上需要脚本运行的 NPM 包的权限被拒绝

如何刷新 youtube-data-api v3 的访问令牌

try 运行迁移时的 Typeorm:缺少必需的参数:dataSource

Node.js 变量声明和范围

如何将使用 Gulp 的 node 部署到 heroku

使用 Socket.io 将客户端连接到服务器

Node.js 中空函数的简写

卸载代码/模块