20
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2014-12-30

なぜ使いたいか

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にも対応した素敵なアプリケーションを作ってください。

20
21
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?