Нодейс, фантоми, героку

Я использовал следующий buildpack для сборки приложения phantomjs / nodejs на herouku, но безуспешно:

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

и http://github.com/heroku/heroku-buildpack-nodejs http://github.com/stomita/heroku-buildpack-phantomjs

phantom stderr: execvp(): Permission denied
/app/web.js:127
          return ph.createPage(function(err, page) {
                    ^
TypeError: Cannot call method 'createPage' of undefined
     at phantom.create.phantomPath (/app/web.js:127:18)

мой webjs это:

app.get('/', function(req, res){
  // If there is _escaped_fragment_ option, it means we have to
  // generate the static HTML that should normally return the Javascript

  if(typeof(req.query._escaped_fragment_) !== "undefined") {
    phantom.create(function(err, ph) {
      return ph.createPage(function(err, page) {
        // We open phantomJS at the proper page.
        return page.open("http://myurl.com/#!" + req.query._escaped_fragment_, function(status) {
          return page.evaluate((function() {
            // We grab the content inside <html> tag...
            return document.getElementsByTagName('html')[0].outerHTML;
          }), function(err, result) {
            // ... and we send it to the client.
            res.send(result);
            return ph.exit();
          });
        });
      });
    },{phantomPath:"/app/vendor/phantomjs/bin"});
  }
  else
    // If there is no _escaped_fragment_, we return the normal index template.
    //res.render('index');
    res.sendfile(__dirname + '/app/index.html');
});

если я запускаю его локально на macbook, он работает, я использую node-phantom-simple без socket.io и поддержки кластера. Я не могу изменить разрешения для двоичного файла phantomjs, они всегда остаются равными 700, и поддержка heroku сказала мне, что я отвечаю за разрешения для файлов через buildpack.

Какие-либо предложения?

Спасибо Патрик

0 ответов

Другие вопросы по тегам