Сразу же, один и тот же код развернут двумя разными способами:
npm, запустить dev на моем локальном хосте
https://02e7822e.ngrok.io
npm start (я полагаю) в Google App Engine
https://testing -234701.appspot.com /
Я должен подчеркнуть, что это тот же самый код, который развертывается (очевидно, очень сильно приспособленный для package.json для развертывания в App Engine), но только один из них выглядит правильно.
Я уверен, что мы все думаем, что это проблема с package.json, поэтому я включу ее ниже, но , если кто-нибудь когда-либо сталкивался с подобной проблемой, когда приложение nodejs выглядит хорошо на localhost, но потом выглядит как дерьмо при развертывании, пожалуйста, дайте мне знать!
Ошибка консоли Chrome: Не удалось загрузить ресурс: https://testing -234701.appspot.com /% 7BsummarAIze% 7D / _next / static / 6MuW3BriROYrhZZCL ~ v03 / pages / index.jsthe * Сервер 1025 * ответил со статусом 404 ()
^ обратите внимание, что ресурс, который не был загружен, связан с _next, поэтому он должен быть связан с next.js
package.json
{
"name": "hps_prework",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"dev": "node app.js",
"build": "next build",
"start": "NODE_ENV=production && node app.js",
"gcp-build": "npm run build",
"deploy": "npm run build && gcloud app deploy"
},
"engines": {
"node": ">10.0"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"@material-ui/core": "^3.9.2",
"@material-ui/icons": "^3.0.2",
"babel-loader": "^8.0.5",
"jquery": "^3.3.1",
"js-cookie": "^2.2.0",
"koa": "^2.7.0",
"koa-session": "^5.10.1",
"next": "^8.0.3",
"python-shell": "^1.0.7",
"react": "^16.8.4",
"react-dom": "^16.8.4",
"react-scripts": "^2.1.8",
"webpack": "^4.28.3"
},
"browserslist": [
">0.2%",
"not dead",
"not ie <= 11",
"not op_mini all"
]
}
Я также должен отметить, что я черпал вдохновение для своих скриптов package.json из этого предыдущего SO вопроса: Развернул приложение Next.js в App Engine Standard [Nodejs] и получил ошибку 500
Я развертываю на App Engine с gcloud app deploy
, и записанный вывод не показывает никаких проблем. Просто когда веб-страница загружена, все просто сломано.
Наконец, обязательная ссылка на данный github.
Редактировать: я также не знаю, полезно ли это вообще, но я развернул то же самое приложение на AWS Elastic Beanstalk, и процесс оказался намного проще. Веб-сайт загружался так же, как и на моем локальном хосте, и AWS EB даже позволяет пользователю изменять команду npm, используемую для запуска веб-сайта, которую Google App Engine не поддерживает.