Запустите backend напрямую в Angular ng serve - PullRequest
0 голосов
/ 08 марта 2020

В настоящее время я работаю с использованием ng serve с настройкой прокси, в то время как прокси-сервер указывает на другой экземпляр nodejs на той же машине.

Этот бэкэнд представляет собой простой express сервер, подобный этому (упрощенно):

var express = require('express');
var app = express();
var customers = require('./customers.controller.js');
app.get('/api/customers', customers.getAll)
var server = app.listen(8081)

Интерфейс (ng serve) работает на порте 4200 и прокси / api до http://localhost: 8081 / api

Пока как я вижу, это рекомендуемая установка.

Однако я бы предпочел, чтобы бэкэнд работал непосредственно внутри экземпляра ng serve вместо прокси. И, если возможно, даже воспользуйтесь функцией автоматической перезагрузки c в ng, чтобы мне не пришлось перезагружать сервер, если я что-то изменил в коде бэкенда.

Так как оба nodejs и ng кажется настраиваемым, я думаю, что это возможно, но я не могу найти отправную точку для определения моих собственных маршрутов

1 Ответ

0 голосов
/ 09 марта 2020

Это возможно сделать, вам просто нужно поместить ваш angular в бэкэнд, используя nodejs маршрутизацию

в основном angular - это "файл c файла" и точка входа исходит из индекса. html

    // Redirect all the other resquests
    this.app.get('*', (req, res) => {
        res.sendFile(path.resolve('dist/index.html'));
    });

, но помните, что вам нужно обрабатывать маршрутизацию для изображения, js, css и других также.

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