如何在Heroku上使用Node.js和PhantomJS?

为什么想要使用?

如果在前端使用AngularJS等route操作,需要将渲染后的视图返回给搜索引擎等机器人,则需要使用PhantomJS。下面将介绍如何将PhantomJS轻松安装到Heroku上。

怎么做?

使用PhantomJS的构建包会很不错,但我还想使用Node.js和Ruby等工具,所以我会使用能处理多个构建包的heroku/heroku-buildpack-multi。

我会在 Heroku 的配置中注册使用 buildpack 的选项。

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

可以通过.buildpacks文件来指定使用哪个buildpack。

    Node.jsの場合
https://github.com/heroku/heroku-buildpack-nodejs.git  
https://github.com/stomita/heroku-buildpack-phantomjs.git
    Rubyの場合
https://github.com/heroku/heroku-buildpack-ruby.git
https://github.com/stomita/heroku-buildpack-phantomjs.git

关于Node.js的补充说明

如果通过grunt等方式进行构建,请确保在构建中包含.buildpacks文件以将其推送。

如果使用buildpack-nodejs,也请确保与package.json中指定的Node.js版本相匹配。

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

这个信息在buildpack-nodejs的README文件中有写到。
我在这里遇到了版本不一致的问题,在执行heroku push的下面这个步骤时被卡住了。

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

请创建一个支持SEO和OGP的精美应用程序。

广告
将在 10 秒后关闭
bannerAds