gpt4 book ai didi

node.js - Heroku H10 在本地主机上工作,在部署中不起作用

转载 作者:行者123 更新时间:2023-12-03 14:22:05 26 4
gpt4 key购买 nike

这个错误在这里似乎很流行!该应用程序在本地运行良好,但是当部署到 Heroku 时...蟋蟀,应用程序崩溃。

这是 server.js


var app = express();
var PORT = process.env.PORT || process.env.REACT_APP_PORT;
app.use(express.urlencoded({ extended: true }));
app.use(express.json());

(process.env.NODE_ENV === "production") ? app.use(express.static("build")) : app.use(express.static("public"));

//code goes here

app.use(cors());

app.get('*', function (req, res) {
res.redirect('api/tweets');
})

app.get('api/tweets', function (req, res) {
tweetData.findOne({}, [], { $orderby : { 'created_at' : -1 } }, function(err, post) {
console.log(post);
res.send(post);
});
});

app.listen(PORT, function() {
console.log("App running on port " + PORT);
});


这是日志条目

2020-05-10T00:12:59.057966+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=quarantine-life.herokuapp.com request_id=bd00538a-e6c4-4d33-ab5b-957eca72146f fwd="68.173.68.75" dyno= connect= service= status=503 bytes= protocol=https

这是 App.js 中的 API 调用

  callTwitterApi = async () => {
await axios.get(my_heroku_app_URL_goes_here)
.then(res => {
//pipeline length control
if (this.state.count === 20){
this.clearTweets();
}
//checking if the tweet is new
this.checkIfNew(res.data);
})
.catch (error => {
this.setState({ error, isLoading: true });
})
this.setState({isLoading: true, isNew: ""});
}

包.json:


`{
"name": "quarantine-life",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.5.0",
"@testing-library/user-event": "^7.2.1",
"axios": "^0.19.2",
"bootstrap": "^4.4.1",
"cors": "^2.8.5",
"dotenv-webpack": "^1.7.0",
"express": "^4.17.1",
"gh-pages": "^2.2.0",
"http-proxy-middleware": "^1.0.3",
"mongo": "^0.1.0",
"mongoose": "^5.9.10",
"morgan": "^1.10.0",
"nodemon": "^2.0.3",
"react": "^16.13.1",
"react-animated-css": "^1.2.1",
"react-bootstrap": "^1.0.1",
"react-dom": "^16.13.1",
"react-scripts": "3.4.1",
"react-transition-group": "^4.4.0",
"twitter": "^1.7.1"
},
"scripts": {
"start": "react-scripts start & node server.js",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"devDependencies": {
"concurrently": "^5.2.0",
"dotenv": "^8.2.0"
},
"proxy": "HEROKU_URL_GOES_HERE"
}
`

我尝试过以下方法

  • package.json 上的代理条目
  • 中间件 npm 包
  • 啤酒数量过多

对这个菜鸟的任何帮助,非常感谢!

最佳答案

检查您的构建包

输入此命令:

heroku buildpacks

您应该看到以下内容:

1. heroku/nodejs

如果没有,您必须安装它来克服 H10 错误: Heroku buildpack for nodejs

----更新----

我刚刚注意到您使用 create-react-app 来构建您的应用。

因此,只需安装所需的构建包即可摆脱 H10:

heroku buildpacks:set mars/create-react-app

关于node.js - Heroku H10 在本地主机上工作,在部署中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61705589/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com