У меня есть проект среднего стека, который я хочу разместить на Heroku.Когда я настроил его, я подключил Heroku к приложению Angular, используя package.json и server.js в Angular.Затем я понял, что мне нужно запустить server.js приложения узла, чтобы запустить оба сервера одновременно.Это работает локально, однако я не могу понять, как запустить файл /backend/server.js при запуске Heroku.
Таким образом, моя структура папок выглядит следующим образом
backend
server.js (the file I want to run)
the rest of the backend files
server.js (the file I manage to run)
package.json (the package.json heroku runs)
procfile
the angular application
Когда мой package.jsonвыглядит так:
"start": "node server.js"
рендеринг html, однако экспресс не работает.
Когда я изменяю только эту строку, это
"start": "node ./backend/server.js"
Heroku выдает ошибку приложения при попытке доступа к веб-странице
Это мой Procfile
web: node ./backend/server.js
и мой backend / server.js
const express = require('express');
const cors = require('cors');
const bodyParser = require('body-parser');
const mongoose = require('mongoose');
const path = require('path');
const config = require('./config/database');
const router = express.Router();
mongoose.connect(config.database, { useNewUrlParser: true });
const connection = mongoose.connection;
connection.once('open', () => {
console.log('Connected to mLab');
});
const app = express();
app.use(cors());
app.use(express.static(path.join(__dirname, '../dist/geoApp')))
app.use(bodyParser.json());
app.use('/', router);
app.get('*', function (req, res) {
res.sendFile(path.join(__dirname, '../dist/geoApp/index.html'));
});
app.listen(process.env.PORT || 8080, () =>
console.log('Express server running on port 8080'));
Я пыталсячто здесь предлагается Heroku не может найти server.js , но он не работает