Проблема интеграции Angular SPA и mongodb в героку - PullRequest
0 голосов
/ 10 октября 2018

Я создаю простое приложение с использованием angular и пытаюсь использовать mongodb для сохранения своих данных.До сих пор мне удалось создать свой SPA с angular и развернуть его на heroku, добавив файл server.js.Моя проблема начинается, когда я пытался подключить mongodb.

В настоящее время я обслуживаю свою страницу, используя

app.get('/*', function(req,res) {
  res.sendFile(path.join(__dirname,'/dist/showoff/index.html'));
});

Внутри index.html Я звоню <app-root>, и у моего приложения есть два маршрута: /display и /control

Затем я понял, что мне нужно добавить еще несколько маршрутов для сохранения и чтения из моей базы данных через службу, поэтому мне пришлось добавить такие вещи, как:

router.route('/players').get((req, res) => {
    Player.find((err, player) => {
        if (err)
            console.log(err);
        else
            res.json(player);
    });
});

Проблема в том, что я не могу добраться до этих маршрутов, так как яуже один с /*.Я попытался написать эти другие маршруты сверху, так как подумал, что это может занять первое время, но он не работает, и меня всегда перенаправляют на мой index.html

Мой вопрос:

Есть лиспособ развернуть мой SPA, как это и по-прежнему использовать монго?или мне нужно как-то реструктурировать все, так как мой подход неправильный?

Вы можете найти весь мой код здесь, если необходимо Код GitHub

1 Ответ

0 голосов
/ 15 октября 2018

В случае, если это кому-нибудь поможет, я сделал следующее.Не уверен, что это лучший способ, но это сработало.

Я разделил мой /* маршрут следующим образом

app.get('/display', function(req,res) {
  res.sendFile(path.join(__dirname,'/dist/showoff/index.html'));
});

app.get('/control', function(req,res) {
      res.sendFile(path.join(__dirname,'/dist/showoff/index.html'));
});

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

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