У меня есть работающее веб-приложение React, которое развернуто на Heroku. Я пытаюсь перенести все приложение в AWS, но у меня возникают проблемы. Сначала я попытался создать экземпляр EC2 и клонировать там мой репозиторий github. Я не мог заставить это работать. Я думаю, это потому, что к экземпляру EC2 должен быть добавлен только код на стороне сервера, а не на стороне клиента.
Я сейчас пытаюсь использовать Elastic Beanstalk для загрузки моего кода (сервер и клиент). Процесс кажется довольно простым, однако, когда я загружаю свой файл .zip и внедряю, я получаю следующую ошибку в журнале событий:
Не удалось найти package.json. Node.js может иметь проблемы с запуском. Убедитесь, что package.json допустим или поместите код в файл с именем server.js или app.js.
У меня в папке zip есть файл package.json
, поэтому я не совсем уверен, что здесь происходит. Любой совет по этому вопросу будет полезен.
Вот содержимое моего package.json
:
{
"name": "beer",
"version": "0.1.0",
"private": true,
"proxy": "http://localhost:5000",
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^1.2.12",
"@fortawesome/free-solid-svg-icons": "^5.6.3",
"@fortawesome/react-fontawesome": "^0.1.3",
"@material-ui/core": "^3.8.1",
"@material-ui/icons": "^3.0.1",
"aws-sdk": "^2.422.0",
"axios": "^0.18.0",
"bcrypt": "^3.0.4",
"body-parser": "^1.18.3",
"cookie-session": "^2.0.0-beta.3",
"dotenv": "^4.0.0",
"express": "^4.16.4",
"material-ui-rating": "^2.0.0",
"passport": "^0.4.0",
"passport-local": "^1.0.0",
"pg": "^7.8.0",
"react": "^16.7.0",
"react-dom": "^16.7.0",
"react-redux": "^6.0.0",
"react-router-dom": "^4.3.1",
"react-scripts": "2.1.2",
"redux": "^4.0.1",
"redux-logger": "^3.0.6",
"redux-saga": "^0.16.2",
"session-middleware": "^1.0.2",
"sweetalert": "^2.1.2"
},
"scripts": {
"start": "node server/server.js",
"client": "react-scripts start",
"server": "nodemon --watch server server/server.js",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": [
">0.2%",
"not dead",
"not ie <= 11",
"not op_mini all"
]
}
И структура файла внутри моего почтового индекса:
--beer
-build
-nodemodules
-package.json
-public
-index.html
-manifest.json
-server
-server.js
-modules
-routes
-src
-index.js
-components
-App
-App.js
-redux
-reducers
-index.js
-sagas
index.js