Как добавить клиента vue.js в существующий API-интерфейс node.js? - PullRequest
0 голосов
/ 20 апреля 2019

У меня есть API-интерфейс node.js с несколькими конечными точками, который отлично работает.Я создал отдельное клиентское приложение vue.js для управления данными с помощью API, который я создал.Это тоже отлично работает.Я столкнулся с проблемой, когда мне нужно, чтобы эти приложения работали на одном и том же порту, чтобы сторонняя прокси-система могла получить доступ к обоим этим приложениям одновременно.

Я видел способ сделать это, скопировав каталог dist на сервер узла, но так как он мне нужен для производственной среды, мне нужна альтернатива, которая динамически создает интерфейс при создании API узла также,

Есть ли альтернатива производственного уровня добавлению клиентского приложения для запуска на существующем сервере узлов?Буду очень признателен за любые рекомендации или помощь!

Обновление: я добавил это в свой файл маршрутизатора и у меня есть клиент и сервер в одном проекте

const path = require('path');
const router = express.Router();

router.use(express.static(path.join(__dirname, '../client/dist')));
   //production mode
if(process.env.NODE_ENV === 'production') {
  router.use(express.static(path.join(__dirname, '../client/dist')));
  //
router.get('/test', (req, res) => {
    res.sendFile(path.join(__dirname = '../client/dist/index.html'));
  })
}
//build mode
router.get('/test', (req, res) => {
  res.sendFile(path.join(__dirname+'../client/dist/index.html'));
})

1 Ответ

0 голосов
/ 30 апреля 2019

Вы можете открыть каталог dist, созданный с помощью vue-cli, используя экспресс-статический маршрут. В этом каталоге должны быть ваши встроенные ресурсы вместе с index.html

app.use('/app', express.static(path.join(__dirname, '../client/dist'));

Однако теперь, поскольку ваше приложение не находится в корневом каталоге, вам нужно добавить базовый URL в ваш vue.config.js. После этого перестройте приложение.

 module.exports = {
   publicPath: process.env.NODE_ENV === 'production' ? '/app/' : '',
   ...
   ...
   ...
 }

Теперь ваше приложение VUE должно быть доступно на

/ приложение / index.html

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