如何在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的精美应用程序。