[英]How to deploy reactJS + nodeJS app on Heroku?
我將應用程序部署到heroku時遇到問題。 我在構建文件夾中有react app的輸出(路徑:/client/build/index.html)
server.js
const express = require('express');
const path = require('path');
const cors = require('cors');
const passport = require('passport');
app.use(express.static(path.resolve(__dirname + '/client/build')));
app.get('*', (req, res) => {
res.sendFile(path.join(__dirname+'/client/build/index.html'));
});
const port = process.env.PORT || 5000;
const bodyParser = require('body-parser');
const mongoose = require('mongoose');
app.use(bodyParser.urlencoded({extended:false}));
app.use(bodyParser.json());
app.use(cors())
mongoose.connect(process.env.MONGODB_URI)
.then(() => console.log("success"))
.catch(err => console.log(err))
app.use(passport.initialize());
require('./config/passport')(passport);
const server = app.listen(port, function(err) {
if (err) {
return;
}
console.log('server listening on port: %s', port);
});
Procfile
web: node server.js
package.json(服務器){
"description": "",
"main": "index.js",
"scripts": {
"start": "node server.js",
"server": "nodemon server.js",
"client-install": "npm install --prefix client",
"client": "npm start --prefix client",
"dev": "concurrently \"npm run client\" \"npm run server\""
},
"author": "",
"license": "ISC",
"dependencies": {
"concurrently": "^4.0.1",
"express": "^4.16.4",
"jsonwebtoken": "^8.3.0",
"mongoose": "^5.3.4",
"node": "^8.10.0",
"nodemon": "^1.18.4",
"passport": "^0.4.0",
"passport-jwt": "^4.0.0",
"react-scripts": "1.0.11",
},
"devDependencies": {
"nodemon": "^1.18.4"
}
}
是否可以從構建文件夾中顯示我的reactApp? 如何部署服務器? 在Procfile中放置命令是否足夠?還是應該在package.json中添加“ heroku-postbuild”? 感謝幫助
PS。 推送到heroku之后,我得到了這個index.html文件,但是空白頁和服務器無法正常工作。
在server.js
您的app
對象未定義為app = express()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.