convert-svg-to-pngがVercel上で動いてくれない。
先日、convert-svg-to-pngを用いてOGPに対応したWebアプリを作りました。
しかしいざVercel上にデプロイしてみると、Internal Errorを吐いてしまいました…
Puppeteerからchrome-aws-lambdaを起動するようにすればおk
どうやらVercelのServerless FunctionsはAWS Lambdaを使っているらしく、Puppeteerは標準でそれに対応していないようでした。
そのため、Lambdaに対応したChromeを入れてあげれば動くようになります。
chrome-aws-lambdaをインストール
yarn add chrome-aws-lambda
ソースへ適応
import chrome from 'chrome-aws-lambda'
import { convert } from 'convert-svg-to-png'
convert('ここにSVGがはいる', {
{
args: chrome.args,
executablePath: await chrome.executablePath,
headless: chrome.headless,
}
})