В зависимости от сценария можно достичь этого двумя способами:
1) Экспресс-маршруты:
каждый маршрут выполняет необходимую логику.Узел работает с системой module.exports / require, поэтому для каждого маршрута у вас может быть свой файл JS, который экспортирует все функции, используемые в коде маршрута.
Пример:
server.js
const express = require('express');
const app = express();
app.get('/', (req, res) => {
const index = require('./index');
res.send(index.hello());
});
app.get('/webapp', (req, res) => {
const webapp = require('./webapp');
res.send(webapp.appFunction());
});
index.js
exports.hello = function() {
return "Hello";
}
webapp.js
exports.appFunction = function() {
return "App Function";
}
2) Перенаправление службы: если вам нужно полное приложение, работающее на некоторой конечной точке, а не некоторые функции, то вы можете развернуть веб-приложение как отдельную службу в том же приложении и перенаправить запрос клиента на эту службу в данной конечной точке.
Для этого создайте и разверните службу веб-приложения в точности как приложение по умолчанию из собственной папки с выделенными package.json
и app.yaml
.Просто укажите имя службы в app.yaml
: service: webapp
После развертывания ваша служба будет доступна по веб-ссылке в виде https://[SERVICE_ID]-dot-[MY_PROJECT_ID].appspot.com
, которую можно использовать для перенаправления сконечная точка приложения по умолчанию:
app.get('/webapp', (req, res) => {
res.redirect('https://[SERVICE_ID]-dot-[MY_PROJECT_ID].appspot.com');
});
Подробнее об услугах и маршрутизации здесь .Вы также можете управлять маршрутизацией с dispatch.yaml :
Пример, если ваш идентификатор сервиса "webapp"
dispatch:
- url: "example.appspot.com/webApp"
service: webapp