inflearn logo
강의

講義

知識共有

Slackクローンコーディング[Reactによるリアルタイムチャット]

ワークスペース作成(ネストされたルーター)

Link가 아닌 브라우저를 통한 직접 접근

269

cksdnr3333

投稿した質問数 11

0

안녕하세요 강사님

현재 프로젝트에서 /workspace/channel 처럼 중첩 라우팅을 한 페이지의 경우 Router를 통한 접근에서는 정상적으로 동작하고  브라우저에 직접 검색할 때는 404 에러를 응답받습니다. 왜 그런지 알 수 있을까요? 강의 진행에서는 브라우저로 직접 접근해도 에러가 발생하지 않아서요.

어디서 발생한 문제인지 감이 안잡혀서 구글링을 할 수가 없습니다... 일단 historyApiFallback 설정은 되어있어 depth 1단계의 페이지는 브라우저를 통해 직접 접근해도 잘 접근이 됩니다.

클론코딩 react babel Socket.io typescript 웹팩

回答 3

0

cksdnr3333

/Workspace/index.tsx
<Switch>
<Route path="/workspace/channel" component={Channel} />
<Route path="/workspace/dm" component={DirectMessage} />
</Switch>
 
/App/index.tsx
    <Switch>
      <Redirect exact path="/" to="login" />
      <Route path="/login" component={Login} />
      <Route path="/signup" component={Signup} />
      <Route path="/workspace" component={Workspace} />
    </Switch>
 
webpack.config.ts
  devServer: {
    open: true,
    historyApiFallback: true,
    devMiddleware: { publicPath: '/dist' },
    port: 3090,
    static: { directory: path.resolve(__dirname, 'src') },
    liveReload: false,
},

0

zerocho

app.js 파일이 404인것 같은데요.

https://github.com/ZeroCho/sleact/blob/master/front/index.html#L32

혹시 이 부분도 똑같나요? ./dist/app.js는 아닌가요?

0

cksdnr3333

강의가 아직 남아있기는 한데 현재 진행상황에서는 /workspace/channel 로 접근하고 있습니다. historyApiFallback: true 로 설정되어 있으면 에러 발생 시 index.html 을 반환하고 index.html이 로드한 js파일에 있는 라우터 로직에 따라 페이지를 렌더링하는 것으로 동작 방식을 이해하고 있습니다. 따라서 브라우저로 직접 접근할 때 처럼 history 객체를 읽을 수 없는 경우 에러가 발생하는 대신 index.html을 반환해야 하는데 404페이지가 반환됩니다.

historyApiFallback: false인 경우엔 루트 페이지를 제외하고 어떤 페이지도 브라우저로 직접 접근이 안됩니다...

 

"/workspace/channel"

"/"

0

zerocho

Route path=/workspace/channel 하신 코드 보여즈세요.

아, 그리고 webpack.config.ts에서 devServer 설정도요~

0

zerocho

historyApiFallback으로 해결하는 게 맞긴 합니다. 그런데 저는 /workspace/channel이라는 페이지를 만든 적이 없는데 정확한 주소가 맞나요? /workspace/제로초/channel/일반

이런 꼴입니다.

기본 셋팅과 관련하여

0

91

1

초기 셋팅 back과 front만 남겨두고 다 지운 후 진행 방법

0

96

2

focus 시에만 화면 업데이트 되는 이유 + 해결방법

0

148

2

useEffect 개수 관리

0

109

2

라이브러리 서치 방법

0

103

2

함수 정의 패턴

0

77

1

npm run dev 에러

0

152

3

npx webpack 후 에러

0

178

2

'void' 형식 식의 truthiness를 테스트할 수 없습니다.ts(1345)

0

142

2

사용자 가입시 에러발생 (TypeError: Cannot read properties of null (reading 'addMembers')

1

177

2

초기세팅중 packge.json 에러떠요

0

154

2

CORS - Access-Control-Allow-Origin 누락 문제

0

430

3

로그인 페이지 무한 새로고침 현상

0

598

2

Module not found: Error: Can't resolve './App' 에러

0

952

1

배포 방법

0

296

2

npm run dev 시 빌드가 매우 느려졌습니다

0

988

2

alias 경로 설정 오류

0

448

2

fetcher 함수의 data 값이 두번 찍히는 이유

0

275

1

제네릭 질문

0

217

2

ts-node 대신 tsx 사용여부

0

373

1

배포 관련 질문

0

247

1

[nginx + https] 서비스를 실행하면 niginx가 아닌 서비스 화면을 보여주게 하고 싶습니다.

0

385

2

[배포하기] webpack에 aws 퍼블릭 IPv4 주소 와 포트 주소를 작성하고 나서 빌드후 실행하면 오류가 발생합니다.

0

336

1

users 호출 시 쿠키가 담기지 않는 이슈 질문드립니다.

0

247

2