PhantomJS — не удается просмотреть страницу

#javascript #angularjs #phantomjs

#javascript #angularjs #phantomjs

Вопрос:

У меня есть приложение AngularJS, которое работает на http://localhost:8001

Я использую этот скрипт PhantomJS для запуска и возврата отображаемого HTML:

 "use strict";
var port, server, service,
    system = require('system'),
    page   = require('webpage').create();

    server = require('webserver').create();

    service = server.listen(port, function (request, response) {

        console.log(JSON.stringify(request, null, 4));

        page.open('http://localhost:8001'   request.url, function () {
          response.write(page.content);
          var fs = require('fs');
          fs.write('a.txt', page.content, 'w'); //save the output HTML to file
        });
    });

    if (service) {
        console.log('Web server is running');
    } else {
        console.log('Error !');
        phantom.exit();
    }
}
  

итак, PhantomJS запускается http://localhost:8002 и перенаправляет на http://localhost:8001

когда я попал в

 curl "http://localhost:8002/"
  

Я вижу HTML, но я все еще вижу {{}} теги AngularJS вместо желаемых значений. Более того, когда я открываю http://localhost:8002/ в браузере, я получаю бесконечный цикл. Что происходит?


Редактировать

Поскольку мое приложение Angular имеет начальную анимацию и отправляет некоторые запросы на серверную часть, мне пришлось сказать PhantomJS, что он должен подождать http://charles .lescampeurs.org/2013/07/02/phantomjs-wait-for-it

Комментарии:

1. Это не может быть ваш фактический код. port никогда не устанавливается.

2. Какую версию PhantomJS вы используете? Пожалуйста, зарегистрируйтесь на onConsoleMessage , onError , onResourceError , onResourceTimeout события ( пример ). Возможно, есть ошибки.