У меня есть два приложения, работающие на heroku, myserverapi (весенняя загрузка) и клиент (приложение Angular). сервер работает на myserver.heroku.com, а клиент myclient.heroku.com в настоящее время мой express сервер обслуживает только stati c файлы. Я новичок в express хочу знать, как заставить его получить доступ к моему файлу proxy.conf. json, где я объявил домен, который он должен вызывать. все нормально работает локально с Cli, но после развертывания не работает.
proxy.Conf. json файл ниже
{
"/api": {
"target": "https://mygramapi.herokuapp.com",
"secure": false,
"changeOrigin": true
}
}
И мой express сервер. js
//Install express server
const express = require('express');
const path = require('path');
const app = express();
// Serve only the static files form the dist directory
app.use(express.static(__dirname + '/dist/mygram'));
app.get('/*', function(req,res) {
res.sendFile(path.join(__dirname +'/src'));
});
console.log(app);
// Start the app by listening on the default Heroku port
app.listen(process.env.PORT || 4000);
Все мои API начинаются с / api, например, / api / login, / api / signup и т. Д., Есть всеобъемлющий способ справиться с этим спасибо.
express -http- у прокси есть решение, но у меня есть несколько вопросов по этому поводу, означает ли это, что я удаляю файл express. js и как насчет моих файлов stati c, я не уверен, что добавлю это в мой существующий код, поэтому я доступ как к файлам stati c, так и к файлам API
const url = require('url');
const proxy = require('express-http-proxy');
// New hostname+path as specified by question:
const apiProxy = proxy('https://myserverapi.heroku.com', {
forwardPath: req => url.parse(req.baseUrl).path
});
app.use('/api/*', apiProxy);
как заставить их работать