【发布时间】:2020-09-11 16:45:48
【问题描述】:
大家好,我创建了一个 Mern stack 的小项目。我在 Heroku 上正确部署它。但是一旦我在部署后在 Heroku 上检查她,然后加载资源失败:服务器响应状态为 503(服务不可用)错误即将到来。 但是,一旦我在部署后在 cmd 中运行 heroku local,它就会正常工作。我在 heroku 设置代码下面给出。请指导我。请........
后端的package.sjon文件
{
"name": "app",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "npm install && node index",
"heroku-postbuild": "NPM_CONFIG_PRODUCTION=false npm install --prefix client && npm run build --prefix client"
},
"dependencies": {
"config": "^3.3.1",
"express": "~4.16.1",
"express-fileupload": "^1.1.7-alpha.3",
"mongoose": "^5.9.12",
"nodemailer": "^6.4.6"
},
"keywords": [],
"author": "",
"license": "ISC"
}
后端的Index.js文件
var express = require('express');
var path = require('path');
const connectDB = require('./config/db')
var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
var studentRouter = require('./routes/student')
var app = express();
connectDB();
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(express.static(path.join(__dirname, 'public')));
app.use(express.static('client/build'))
app.get('/', (req, res) => {
res.sendFile(path.resolve(__dirname, 'client', 'build', 'index.html'))
})
app.use('/', indexRouter);
app.use('/', studentRouter);
app.use('/users', usersRouter);
if (process.env.NODE_ENV == "production") {
app.use(express.static('client/build'))
app.get('*', (req, res) => {
res.sendFile(path.resolve(__dirname, 'client', 'build', 'index.html'))
})
}
var port = process.env.PORT || '8000';
app.listen(port, () => {
console.log(`server run port ${port}`);
})
module.exports = app;
【问题讨论】:
-
部署后运行一段时间就好了。之后(GET lit-wave-29895.herokuapp.com503(服务不可用))这个错误来了。
标签: node.js reactjs express mongoose nodemailer