MERN 앱의 렌더 배포(무료 등급)
12613 단어 renderreactdeploymentmern
전체 스택 MERN 앱을 Render에 배포하기 위한 가이드
전제 조건:
MongoDB 계좌
TLDR
Render에 로그인하여 백엔드용 웹 서비스(Node, Express, MongoDB)와 프런트엔드용 정적 사이트(React)를 생성합니다.
Deployed App - Contact Bank
(경고 배포된 링크는 회전하는 데 30초가 걸립니다)
Render에 배포할 전체 스택 앱을 설계하는 방법에는 여러 가지가 있습니다.
이 튜토리얼은 다음 파일 구조를 가진 MERN 앱을 기반으로 합니다.
Contact-Bank (root)/
├── client/
│ ├── src
│ ├── public
│ ├── node_modules
│ ├── .env
│ ├── .gitignore
│ ├── package-lock.json
│ └── package.json
├── config
├── models
├── node_modules
├── routes
├── seed
├── .env
├── .gitignore
├── package-lock.json
├── package.json
└── server.js
워크플로우
(완전히 작동하는 프로덕션 준비 MERN 앱이 없는 경우 아래 단계를 따르십시오. 그렇지 않으면 here으로 이동하십시오.)
MERN 애플리케이션
본점을 중심으로 진행하고 있습니다. 연락처 정보가 있는 기본 CRUD 앱인 Contact Bank이라는 MERN 앱을 만들었습니다. MongoDB에 1000개의 연락처를 시드했습니다.
contacts.json
와 함께 프런트 엔드에 데이터 폴더를 포함했습니다. 모든 것을 허용하는 배포에 영향을 미치지 않는 후크 및 소품 드릴을 사용하려는 경우 상태 관리를 위해 ContextAPI를 사용하고 있습니다.
단계:
git clone
repoMongoDB의 MongoDB 연결 문자열을 환경 변수로 추가합니다(하드코딩하지 마세요. .env 파일에 있어야 합니다). 예:
MY_MONGO_URI='mongodb+srv:...mongodb.net/contact-bank?retryWrites=true&w=majority'
MongoDB 시드
node seed/seeds.js
서버 또는 .env 변수와 동일한 수준에서 === undefined
루트 디렉토리 package.json에서 필요한 스크립트는 다음과 같습니다.
//package.json
"scripts": {
"start": "node server.js",
"server": "nodemon server.js",
"client": "npm start --prefix client",
"clientinstall": "npm install --prefix client",
"dev": "concurrently \"npm run server\" \"npm run
client\"",
"render-postbuild": "NPM_CONFIG_PRODUCTION=false
npm install --prefix client && npm run build --
prefix client"
},
npm run dev
에서 모든 것이 실행되고 UI의 변경 사항이 데이터베이스에 반영되어야 합니다. if (process.env.NODE_ENV === 'production') {
//*Set static folder up in production
app.use(express.static('client/build'));
app.get('*', (req,res) => res.sendFile(path.resolve(__dirname, 'client', 'build','index.html')));
}
배포로 이동하려면 이 단계를 완료해야 합니다.
세우다
(완전히 작동하는 MERN 앱이 준비된 경우 여기에서 시작하십시오)
- 웹 서비스
이 스크립트로 실행 중인 동시성이 있습니다
npm run dev
.MongoDB 연결 문자열의 환경 변수
- 정적 사이트
이 스크립트를 사용하여 루트
npm run render-postbuild
에서 빌드 폴더를 생성하도록 Render에 지시하고 있으며 모든 npm 명령이 루트 폴더에서 호출되기 때문에 빌드 폴더의 경로는 ./client/build
입니다.내 경로
https://contact-bank.onrender.com/api/*
는 server.js의 내 경로가 /api/
로 생성되므로 최상위 규칙이어야 합니다.드디어
그런 다음 약 30분 후에 정적 사이트 링크https://contact-bank-a72l.onrender.com/가 활성화됩니다.
야후우
MERN 스택으로 작업하는 개발자가 앞으로 프로젝트를 배포할 수 있는 몇 가지 경로를 가질 수 있도록 Heroku 발표에 비추어 이 튜토리얼을 만들었습니다.
읽고 행복한 코딩에 감사드립니다.
링크 🔗
Conact-Bank Repo
Github Account
Render Account
MERN MongoDB
MongoDB
tree.nathanfriend.io
❤️❤️❤️
사회의
Portfolio
Github
🤘
해피코딩
Reference
이 문제에 관하여(MERN 앱의 렌더 배포(무료 등급)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/gregpetropoulos/render-deployment-free-tier-of-mern-app-52mk텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)