• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Node.js, Express 게시판 react nodejs로 빌드 후 gcp app engine으로 배포시 404오류ㅠㅠ

react nodejs로 빌드 후 gcp app engine으로 배포시 404오류ㅠㅠ

  • 이 주제에는 6개 답변, 2명 참여가 있으며 bolo1 년, 11 월 전에 전에 마지막으로 업데이트했습니다.
7 글 보임 - 1 에서 7 까지 (총 7 중에서)
  • 글쓴이
  • #93448

    bolo
    참가자
    https://github.com/bolo-ong/project1_WeekPlanner
    깃허브 주소 입니다 ㅠ
    
    
    예전에 soket으로 실시간 채팅 만들고 gcp에 app engine으로 배포했을 땐 아무 문제 없었습니다
    
    
    이번엔 리액트로 빌드 후 배포를 해봤는데, 배포 후 실주소
    https://weekplanner-394810.du.r.appspot.com/
    로 들어가면 계속 404오류가 나는 상황입니다.
    app.yaml은
    runtime: nodejs
    env: flex
    env_variables:
    DB_URL: "mongodb+srv://<제 아이디와 패스워드>@project1-cluster.eossipt.mongodb.net/project_1"
    ACCESS_TOKEN_SECRET: "제 시크릿키"
    REFRESH_TOKEN_SECRET: "제 시크릿키"
    이며,
    프론트에서 
    env.development에는 로컬주소를,
    env.production에는 REACT_APP_SERVER_URL=https://weekplanner-394810.du.r.appspot.com
    이렇게 실주소로 요청을 보내게 해놨습니다
    server.js 에도
    app.use(cors({
     origin: [
    'http://localhost:3000',
    'https://weekplanner-394810.du.r.appspot.com',
    'https://www.weekplanner-394810.du.r.appspot.com'],
     credentials: true
    }));
    app.use(express.json());
    app.use(cookieParser());
    app.use('/api', routes);
    app.use(express.static(path.join(__dirname, '..', 'client', 'build')));
    app.get('/', function (req, res) {
     res.sendFile(path.join(__dirname, '..', 'client', 'build', 'index.html'));
    });
    app.use(function (req, res) {
     res.sendFile(path.join(__dirname, '..', 'client', 'build', 'index.html'));
    });
    위와같이 cors설정과, 영상에서 알려주신 방법으로 해놨습니다
    
    실제로 로컬환경으로는 정상작동합니다
    로컬3000으로 프론트에서라던가, 로컬8080인 서버 환경 모두 정상작동 확인했으며,
    실배포 이후 링크로 접속 시 404오류가 나는 상태를 며칠째 해결을 못하고 있어서 질문드립니다 ㅠ
    많이 고민해보고 찾아봤지만 답을 모르겠습니다 도와주세요 ㅠ
    
    
    
    
    
    
    
    
    
    
    
    
    		
    	
    #93464

    codingapple
    키 마스터
    서버프로젝트 폴더안에 client폴더넣어서 경로같은거 수정하고 배포합시다 
    리액트의 build 폴더만 넣어도 될수도요
    #93479

    bolo
    참가자
    와 며칠을 고생했는데 이렇게 해결되다니 감사합니다 ㅠㅠ
    혹시 이유를 알 수 있을까요?? 왜 되는건지 모르겠습니다!
    
    
    그리고 폴더 구조를 client와 server따로 구분해놨을때 더 깔끔했는데, server안에 client를 넣으니 불편한 부분이 있습니다 어떻게 해야할까요??
    #93507

    codingapple
    키 마스터
    package.json들어있는 서버프로젝트만 올려야합니다 
    client는 서버프로젝트폴더 안에넣읍시다
    #93533

    bolo
    참가자
    서버의 package.json
    {
    "name": "server",
    "version": "1.0.0",
    "description": "",
    "main": "server.js",
    "scripts": {
    "start": "nodemon server.js"
    },
    "keywords": [],
    "author": "",
    "license": "ISC",
    "dependencies": {
    "bcrypt": "^5.1.0",
    "cookie-parser": "^1.4.6",
    "cors": "^2.8.5",
    "dotenv": "^16.0.3",
    "express": "^4.18.2",
    "jsonwebtoken": "^9.0.0",
    "mongoose": "^6.8.3",
    "nodemon": "^2.0.20"
    }
    }
    이렇게 작성되어 있는데, 어떤부분을 보면 알 수 있나욤? 아직 이해가 안됐습니다
    검색 키워드라도 주시면 알아서 찾아보겠습니다!
    
    
    		
    	
    #93554

    codingapple
    키 마스터
    package.json까보라는건 아니고 그냥 package.json들어있는 서버프로젝트 폴더 전체내용만 올려야 잘됩니다
    #93629

    bolo
    참가자
    아 package.json과 위치가 같아야 한다는거군요 감사합니다
7 글 보임 - 1 에서 7 까지 (총 7 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠