Развернуто приложение на внешний сервер Linux. Vue Component не попадает в правильный порт при получении из API - PullRequest
0 голосов
/ 07 ноября 2018

Я предвосхищу это, говоря, что я совсем новичок в node / vue / expressJS.

Я создал простое приложение node / vue / mongodb, которое отображает сообщения, полученные из базы данных. Я запустил его на localhost, используя npm run serve, и все работало нормально. У меня есть весь код переднего плана в папке client и API интерфейса пользователя в папке server.

Когда я был готов к развертыванию на моем внешнем сервере Linux, я запустил npm run build в своей клиентской папке, которая встраивает приложение в папку внутри server в каталоге public. Затем я добавил папку server в git и вытащил ее на моем сервере Linux.

Я указал PM2 на файл index.js внутри server и указал apache на каталог public внутри server. Мое приложение работает, но сообщения не извлекаются, возвращая ошибку 404. Я заметил на вкладке сети, что он пытается нажать http://example.com/api/posts вместо http://example:5000.com/api/posts.

В моих запросах axios в верхней части файла есть переменная url со значением 'api/posts', а затем в моем конфигурационном файле я настроил следующий прокси:

const path = require('path');

module.exports = {
    outputDir: path.resolve(__dirname, '../server/public'),
    devServer: {
        proxy: {
            '/api': {
                target: 'http://example.com:5000'
            }
        }
    }
}

Мне кажется, что на моем производственном сервере это работает неправильно. Кто-нибудь знает, что я мог упустить при развертывании в производство? Должен заметить, что если я вручную нажму http://example.com:5000/api/posts, то корректно получит сообщения.

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