Edited at

Herokuで何か(Node.jsとか)とPhantomJSをつかう方法

More than 3 years have passed since last update.


なぜ使いたいか

AngularJSなどフロント側のrouteで運用していると、renderされたviewをSEOなどのボットに返したい!などPhantomJSの出番がやってきます。PhantomJSをHerokuにもサクッと入れる方法を紹介します。


どうやるか

PhantomJSのbuildpackを使えばいいんですが、Node.jsやRubyなども使いたいと思うので、複数のbuildpackを扱えるheroku/heroku-buildpack-multiを使います。

herokuのconfigにbuildpack使うよって登録します。

heroku config:add BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-multi.git

どのbuildpackを使うかを.buildpacksで指定します。


  • Node.jsの場合


.buildpacks

https://github.com/heroku/heroku-buildpack-nodejs.git  

https://github.com/stomita/heroku-buildpack-phantomjs.git


  • Rubyの場合


.buildpacks

https://github.com/heroku/heroku-buildpack-ruby.git

https://github.com/stomita/heroku-buildpack-phantomjs.git


Node.jsの時の補足

gruntなどでbuildしている場合は.buildpacksもpushされるようにbuildに含めてあげましょう。

またbuildpack-nodejsを使う使う場合はpackage.jsonで指定したnode.jsのversionを合わせてあげましょう。


package.json

"engines": {

"node": "0.10.x",
"npm": "2.x"
},

このへんはbuildpack-nodejsのREAD.MEに書いてあります。

自分はここのversionが違ってheroku pushの以下のタイミングで止まってしまいました。

=====> Downloading Buildpack: https://github.com/heroku/heroku-buildpack-nodejs.git

以上、SEOやOGPにも対応した素敵なアプリケーションを作ってください。