node.js - NodeJs/Express Puppeteer 启动本地视图
问题描述
我有 NodeJs/Express 应用程序,我想在其中打开新的浏览器窗口并将本地 ejs 视图呈现到其中。我正在尝试使用 Puppeteer 来做到这一点。
const puppeteer = require('puppeteer');
router.post('/new_window', async (req, res) => {
try {
const browser = await puppeteer.launch({headless: false});
const page = await browser.newPage();
const pageContent = ejs.render('../views/mypage.ejs', {})
await page.setContent(pageContent)
//await page.screenshot({path: 'example.png'});
// await browser.close();
} catch (err) {
res.status(500)
console.log(err)
res.send(err.message)
}
})
在浏览器而不是页面布局中,我得到:
../views/mypage.ejs
提前感谢您的任何指导。
解决方案
代替:
await page.goto(...); // This code is acting like your browser's address bar
尝试
const pageContent = ejs.render('../views/mypage.ejs', {data to populate your .ejs page}) //This is sudo code. Check ejs docs on how to do this
await page.setContent(pageContent)
上面的代码将允许您在服务器上创建页面。page.setContent(..)
您可以加载任何 HTML 字符串。
推荐阅读
- python - 使用 XlsxWriter 将单元格中的文本定向到垂直?
- jquery - 带有承诺的 Jquery Ajax 调用
- javascript - 在页面重新加载时根据屏幕宽度切换菜单的可见性
- android - 如何从活动 3 过渡到活动 1?
- php - 如何将函数数据传递给刀片视图
- trace32 - Trace32:设置在 data.dump 上显示的行数的方法
- powershell - PowerShell 脚本无法在远程服务器上执行批处理文件
- git - Gitlab + Ansible 部署/管理多个集群
- excel - 在不同文件中拆分 Excel 工作表并将特定列中的数据复制到新文件中
- android - FLutter - 尝试运行应用程序时出错