我目前正在尝试将PERN 应用程序部署到Heroku,但这样做有困难。我环顾四周,但找不到任何有用的资源。我成功地部署了前端,但是一旦我加载我的应用程序,我就无法连接到端点。

这是我的代码到目前为止的样子:
配置文件
{
"production": {
"use_env_variable": "HEROKU_POSTGRESQL_JADE_URL",
"dialect": "postgres",
"dialectOptions": {
"ssl": {
"rejectUnauthorized": false
}
}
}
}
应用程序.js
require('dotenv').config();
const express = require('express');
const http = require('http');
const app = express();
const cors = require('cors');
const path = require('path');
const port = process.env.PORT || 4001;
//* Shorten file path
app.use(
'/uploads',
express.static(path.join(__dirname, 'public/uploads'))
);
//* Middleware
app.use(express.json());
app.use(cors());
if (process.env.NODE_ENV === 'production') {
//points to index.js in client
app.use(
express.static(path.join(__dirname, 'client/build'))
);
}
//* Routes
//? Index Routes
app.use('/', require('./routes/index'));
//? Authorization Routes
app.use('/auth', require('./routes/jwtAuth'));
//? User Routes
app.use('/user', require('./routes/user'));
//? Livefeed Routes
app.use('/livefeed', require('./routes/livefeed'));
app.get('*', (req, res) => {
res.sendFile(
path.join(__dirname + '/client/build/index.html')
);
});
app.listen(port, () => {
console.log(`Listening on port ${port}`);
});
package.json(服务器)
{
"name": "server",
"version": "1.0.0",
"description": "",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node app.js",
"heroku-postbuild": "cd client && npm install && npm run build"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"bcrypt": "^5.0.1",
"cors": "^2.8.5",
"dotenv": "^10.0.0",
"express": "^4.17.1",
"jsonwebtoken": "^8.5.1",
"moment": "^2.29.1",
"multer": "^1.4.2",
"pg": "^8.6.0",
"sequelize": "^6.6.2",
"sequelize-cli": "^6.2.0"
}
}
package.json(客户端)
{
"name": "client",
"version": "0.1.0",
"private": true,
"dependencies": {
"@ant-design/icons": "^4.6.2",
"@fortawesome/fontawesome-svg-core": "^1.2.35",
"@fortawesome/free-solid-svg-icons": "^5.15.3",
"@fortawesome/react-fontawesome": "^0.1.14",
"@react-google-maps/api": "^2.2.0",
"@testing-library/jest-dom": "^5.14.1",
"@testing-library/react": "^11.2.7",
"@testing-library/user-event": "^12.8.3",
"antd": "^4.16.3",
"formik": "^2.2.9",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-player": "^2.9.0",
"react-redux": "^7.2.4",
"react-router-dom": "^5.2.0",
"react-scripts": "4.0.3",
"react-toastify": "^7.0.4",
"redux": "^4.1.0",
"redux-logger": "^3.0.6",
"styled-components": "^5.3.0",
"web-vitals": "^1.1.2"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"proxy": "http://localhost:4001"
}
任何有关问题的帮助或良好资源的链接将不胜感激。