【发布时间】:2020-06-25 23:24:23
【问题描述】:
我有一个node.js 应用程序运行express 并使用puppeteer 模块。该应用程序在本地以总效率运行,但是当我将其上传到heroku 时,我无法将图像保存到static 目录。
我用来保存文件的那一行:
async doSomething()=> {
....
await page.screenshot({ path: "public/images/insta.png" })
....
}
在Heroku 中执行此行会导致此错误:
2020-06-25T21:31:02.713334+00:00 app[web.1]: Error: ENOENT: no such file or directory, open 'public/images/insta.png'
2020-06-25T21:31:02.713350+00:00 app[web.1]: -- ASYNC --
2020-06-25T21:31:02.713350+00:00 app[web.1]: at Page.<anonymous> (/app/node_modules/puppeteer/lib/helper.js:116:19)
2020-06-25T21:31:02.713351+00:00 app[web.1]: at Object.scrapeProduct (/app/scrapper.js:9:20)
2020-06-25T21:31:02.713351+00:00 app[web.1]: at processTicksAndRejections (internal/process/task_queues.js:97:5) {
2020-06-25T21:31:02.713352+00:00 app[web.1]: errno: -2,
2020-06-25T21:31:02.713352+00:00 app[web.1]: code: 'ENOENT',
2020-06-25T21:31:02.713353+00:00 app[web.1]: syscall: 'open',
2020-06-25T21:31:02.713353+00:00 app[web.1]: path: 'public/images/insta.png'
2020-06-25T21:31:02.713353+00:00 app[web.1]: }
我尝试将路径更改为"/images/insta.png"、__dirname + "/public/images/insta.png" 和其他解决方法,但这些都不起作用。仍然出现同样的错误。
我的目录有截图:
注意: 在 localhost & 上运行时不会出现此错误
我的heroku slug 上安装了puppeteer buildpack。
【问题讨论】:
标签: node.js express debugging heroku puppeteer