Я управляю сценарием кукловода на Heroku. У меня отсортированы buildpacks, и он работает нормально. В конце концов я намереваюсь перенести это на свой собственный сервер и запустить 5-минутный цикл. Моя проблема заключается в том, что время ожидания истекло (H12 на Heroku требует более 30000 мс для отправки любых данных обратно на сервер). Теперь я решил попробовать запустить кукловода на серверной части, а затем вернуть JSON, который передается интерфейсному JS и используется для формирования конечной веб-страницы.
Моя проблема заключается в следующем. Я не могу использовать оператор require в моем интерфейсном JS, поскольку это предостережение для узла, а не для "веб" JS. Я не могу использовать Browserify на нем, так как Browserify, естественно, не поддерживает кукловод, и я не могу включить кукловода в файл экспресс-маршрутизации, так как это поместит скрипт кукловода во внешний интерфейс, что, как указывалось ранее, вызывает тайм-аут И не позволит мне изменить внешний вид HTML.
Базовая структура желаемых функций:
Call made to localhost:PORT/puppet
Puppet script invoked
Puppet script checks if pages are up/scrapes data/does automated testing etc
Script returns a JSON which is then saved to a variable
Express serves HTML file with script and css
Script uses returned JSON to dictate page structure/style/classes
Структура файла:
puppet.js (puppeteer script)
server.js (handles routes and express)
index.html (served by server.js)
master.css
package.json
package-lock.json
Узловые модули:
colors
express
puppeteer
Я потратил хорошие 4-5 дней на это, любая помощь очень ценится
РЕДАКТИРОВАТЬ: Для пояснения мне нужен способ передачи JSON из сценария кукловода на стороне сервера в javascript, который использует html, обслуживаемый Express, чтобы я мог использовать значения в JSON для изменения веб-страницы.
То есть, если JSON был (a: true, b: false), я бы дал div # a класс .success и div # b класс .warn
РЕДАКТИРОВАТЬ 2: Новая проблема, нельзя использовать выборку на локальном хосте. Я установил API, но не могу получить его. Каждое решение приносит новую проблему, или так кажется