PDFやScreenshotを生成したいときに便利なpuppeteer。
実行環境をもっと気軽に作れればいいなぁーと思い、Cloud Functionsで動かせないかなぁーと。
調べたらCloud FunctionsでNode.js 8が動くらしいので、puppeteerを試してみました。
GitHub - polidog/puppeteer-pdf-example
ただし、cloud functionsで外部と通信するのでSparkプランだとダメです。
使う場合はBlazeかFlameプランを使ってください。
ローカル環境で動かす場合は
|
|
これで実行出来ます。
Firebaseの開発環境を用意していない場合は公式ドキュメントの手順に沿って環境を構築してください。
https://firebase.google.com/support/guides/firebase-web?hl=ja
なぜpuppeteerが動くのか
まえにhtml-pdf-chromeを使っていた時はChrome(Chromium)をインストールしてある環境でないと動かなかった。
html-pdf-chrome - npm
Puppeteerもheadless chrome動かしているのだから、予めインストールしておくことが必要なのではって思ったのですが、どうやらいらないみたいです。
install.jsを確認してみると、PUPPETEER_SKIP_CHROMIUM_DOWNLOAD
の環境変数でinstallするかしないかをコントロールしているみたいです。
puppeteer/install.js at d1105afaf8fed635c593bf2667b81e5b0bac1fcd · GoogleChrome/puppeteer · GitHub