Как развернуть приложение node.js в Google App Engine, чтобы оно загружалось при переходе пользователя по URL-адресу приложения? - PullRequest
0 голосов
/ 13 января 2019

Я новичок в Google App Engine, и у меня есть приложение node.js, которое я развертываю из репозитория GitHub. В настоящее время мне, кажется, приходится вручную вводить несколько шагов для предварительного просмотра приложения, и когда я пытаюсь развернуть его с помощью «gcloud app deploy», сервер выдает только ошибку 500. Я хотел бы, чтобы «развертывание приложения gcloud» действительно работало. Предположительно, это означает, что независимо от того, вошел ли я в облачные сервисы Google, приложение lucidnodes-dev.appspot.com фактически запустит приложение.

После двух дней игры с докер-файлами я плачу, дядя. Мне нужна помощь.

Шаги, которые я выполняю вручную, изнутри Google Cloud Shell:

cd LucidNodes // Enter the directory where the app files live
node index.js

Возвращает:

LucidNodes listening on port 3000

Как и ожидалось, я вижу, что приложение запускается при запуске веб-просмотра на порту 3000.

Вот мой код сервера:

файл server.js:

const express = require('express');
const path = require('path');
const url = require('url');

var init = function( app, prt ){

    app.listen( prt, () => console.log('LucidNodes listening on port ' , prt ));
};

exports.init = init;

и файл index.js:

const server = require('./server');
const fs = require('fs');
const express = require('express');
const path = require('path');
const serveStatic = require('serve-static');
const serveIndex = require('serve-index');
const staticPaths = require('./defineStaticPaths');
const htmlMethods = require('./js/htmlMethods');  // import custom methods for handling HTML
const app = express();
const routes = require('./routes');

staticPaths.defineStaticPaths( app );
app.use( routes );

server.init( app, 8080 );

Обратите внимание, что я изменил порт на локальном и GitHub экземплярах приложения на 8080. Я не уверен, что изменение номера порта решит проблему с ошибкой 500 при развертывании и запуске приложения, но я также не мог не получить экземпляр приложения на GAE для обновления из репозитория GitHub, следовательно, приложение все еще работает на порту 3000 на GAE, и, следовательно, также отступление к докер-файлам, которые до сих пор были еще одним беспорядком изучения кривой, но одна вещь на время, я полагаю.

Итак ... я пытаюсь развернуть и запустить приложение, когда я вызываю lucidnodes-dev.appspot.com. Как это сделать?

Спасибо за помощь.

1 Ответ

0 голосов
/ 22 января 2019

При развертывании в App Engine убедитесь, что:


"scripts": {
  "start": "node index.js"
}

Если вы не включите это в package.json, приложение будет пытаться развернуться на локальном сервере, что, конечно, не работает. Тот факт, что вы все равно видите свой веб-сайт, скорее всего, связан с кэшированными версиями приложения или предыдущими версиями, которые все еще работают после нового неудачного развертывания.

Развертываете ли вы в стандартной или гибкой среде?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...