【发布时间】:2020-03-14 10:06:18
【问题描述】:
作为标题状态,我有一个 React + NodeJS + Express + MySQL,我们正在尝试将其部署到 Heroku 网页。每次将某些内容推送到 GitHub 的主分支时,我都将其设置为自动部署。
我们遇到的问题是它正在为服务器部署路由并显示所有正确的信息,但反应应用程序根本没有显示。我怎样才能使它不显示服务器路由但反应前端是?
随附的是 Server.js 的代码以及我正在运行以构建客户端的脚本。
const express = require('express')
const cors = require('cors')
const app = express()
const path = require('path');
const port = process.env.PORT || 8080;
const homeRoute = require("./routes/home");
const allReviews = require("./routes/getAllReviews");
const mostRecentReviews = require("./routes/mostRecentReview");
const postReview = require("./routes/postReview");
const editReview = require("./routes/editReview");
const updateReview = require("./routes/updateReview");
const deleteReview = require("./routes/deleteReview");
const filterReview = require("./routes/getFilterReview");
const recentReviews = require("./routes/mostRecentReview");
const locationAverageRating = require("./routes/locationAverageRating");
const allLocations = require('./routes/allLocations');
app.use(cors())
app.use('/', homeRoute);
app.use('/review', allReviews);
app.use('/locations', allLocations);
app.use('/review/recent', mostRecentReviews);
app.use('/review/post', postReview);
app.use('/review/edit', editReview);
app.use('/review/update', updateReview);
app.use('/review/delete', deleteReview);
app.use('/review/filter', filterReview);
app.use('/carrier/recent',recentReviews);
app.use('/carrier/edit', editReview);
app.use('/carrier/locations', locationAverageRating);
app.use(express.static('client/build'));
app.get('*', (req, res) =>{
res.sendfile(path.resolve(__dirname + "./client/build/index.html"));
});
const port = process.env.PORT || 8080;
app.listen(port, () => {
console.log(`Example app listening on port ${port}!`)
});
Heroku 构建脚本:
"heroku-postbuild": "NPM_CONFIG_PRODUCTION=false npm install --prefix client && npm run build --prefix client"
提前感谢您的帮助,如果您需要任何其他文件或有任何问题,请随时与我们联系!
【问题讨论】:
标签: javascript node.js reactjs express heroku