У меня есть проект, который основан на узле и имеет Vue в качестве внешнего интерфейса.
В моем приложении. js Файл в узле у меня есть
if(process.env.NODE_ENV === 'production'){
//static folder
app.use(express.static(path.join(__dirname,'public')));
//handle SPA
app.get(/.*/, (req, res)=>{
res.sendFile(__dirname + '/public/index.html');
});
}
а затем
const port = process.env.PORT || 4000;
app.listen(port, ()=>{
console.log('Server runs on port ', port);
});
Итак, узел прослушивает порт 4000 и все входящие запросы (от порта 4000) go до '/public/index.html'
на обслуживание vue
В моем vue.config.js
У меня есть
const path = require('path');
module.exports = {
outputDir : path.resolve(__dirname, '..public'),
devServer:{
proxy:{
'/*':{
target:'http://localhost:5000'
}
}
}
}
Пока все работает нормально, но, пожалуйста, помогите мне понять следующее
Как я могу заставить узел слушать порт (например, 80), а затем все другие узлы конечные точки API в другом порту (например, 4000)?
Я хочу, чтобы все входящие запросы поступали на go на порт 80, затем все равно go на '/public/index.html'
, так что Vue может вступить во владение.
Но конечные точки узла Vue используются для получения и отправки данных, я хочу, чтобы они все еще были в порту 4000, const basicUrl = 'http://awesomeness:4000/';
Как я могу это сделать?
Спасибо