소개
게시글
질문&답변
도와주세요...
statics s가 소문자네요 늦어서 죄송해용~
- 2
- 7
- 688
질문&답변
질문입니다.
상세하고 친절한 답변 감사드립니다. 조금씩 이해가 되어 가는 것 같습니다. '넥스트는 첫 화면만 SSR(프론트 서버 개입)이고 그 다음부터는 CSR이라고 보시면(브라우저-백엔드 간 통신) 됩니다.' 라고 말씀하셔서 그 부분에 대한 의문을 또 여쭤보고 싶습니다. 1. 첫 화면만 프론트 서버가 개입하고 그 후엔 청크정도만 주는 것이 역할의 전부라고 하셨습니다. 그러면 첫 화면 이후엔 벡엔드하고만 통신을 한다는 것인데 코드 스플리팅에 대한 요구는 어떻게 프론트 엔드 서버가 알 수가 있죠? 완전히 다른 페이지로 넘어갈 때 또 다시 그때만 프론트 엔드 서버에 접속하여 관련된 코드 스플리팅된 js를 얻어오는 건가요? 2. '브라우저에서 Link 태그를 눌러도 프런트서버로 요청이 가는게 아니라 csr로 계속 동작하는 것입니다.' 에 대한 질문입니다. Front\server.js 에 있는 모든 코드들은 프론트 엔드 서버안에서 돌아가는 코드니까 첫 화면 로딩 후 브라우저가 요청을 하지 않는 것이니 첫 화면 로딩 후 무쓸모한 코드가 될 것 같습니다. server.get('/hashtag/:tag', (req, res) => { return app.render(req, res, '/hashtag', { tag: req.params.tag }); }); server.get('/user/:id', (req, res) => { return app.render(req, res, '/user', { id: req.params.id }); }); server.get('*', (req, res) => { return handle(req, res); }); 위와 같은 코드들은 프론트 엔드 서버에 접속해야만 반응하는 기능들일 텐데 브라우저는 어짜피 첫 화면만 받은 후에 말씀하신대로 벡엔드하고만 대화를 할테니까요. 저는 강의를 들으면서 '아 서버라는 것은 get과 post와 같은 api 호출을 브라우저를 통해서 받고 이에 적절한 데이터로써 화답하는 것이구나' 라 생각했는데 브라우저에서 호출도 안하고 관심도 없다고 하니 저 코드의 존재 의미가 뭔지 이해가 안가네요.. 저 코드는 초기 ssr할 때에만 사용하는 코드인가요? 동적 라우팅을 돕는다는 설명으로는 저한테 이해가 안가네요.. 읽어주셔서 감사합니다.
- 0
- 5
- 513
질문&답변
질문입니다.
답변 감사드립니다. 답변의 윗 부분은 이해가 갔으나 본 프로젝트에서 Next가 작동되는 원리에 대해서는 절차에 대해서 이해가 가질 않습니다.. 웹 페이지 초기 접속 후, 홍길동이라는 해시태그를 클릭해서 해시태그를 가진 게시글들을 모조리 불러오는 페이지를 렌더링하기까지 과정을 말로 설명한다고 가정하겠습니다. ============================================= 현재 프론트 엔드 서버(express with next) , 벡엔드 서버( express ) 가 돌아가고 있음 (웹 페이지 초기 접속 ) 1. 웹 브라우저는 URL로써 프론트 엔드 서버에 요청 2. 프론트 엔드 서버는 해당 요청에 맞는 데이터까지 벡 엔드에서 다 긁어 온 후에, 완성된 형태의 HTML 문자열과 해당 하는 화면에 대한 코드 스플리팅 된 JS를 브라우저에 전달. 3. 브라우저는 SSR된 HTML 문자열과 JS를 다운로드 받고, HTML을 렌더링 하여 사용자에게 보여줌 ( 여기까지가 웹 페이지 초기 접속 끝, 이제부턴 CSR적용? ) 4. 그 후 원하는 해시태그를 클릭 5. 브라우저는 user/:id/posts 와 같은 형태를 백 엔드 서버에 요청해서 받아오기 5번에서 이해가 안갑니다. next(버젼 8기준)가 동적 라우팅이 안되서 express위에다 돌렸다고 했는데, 그래서 아래 코드와 같은 것을 쓴 것 이죠. server.get('/hashtag/:tag', (req, res) => { return app.render(req, res, '/hashtag', { tag: req.params.tag }); }); 그런데 강의 중간에 프론트에 요청을 보내면 app.render때문에 리로딩이 되기때문에 위 코드로 요청을 보내지 않는다고 하고 Link태그의 속성을 수정하셨습니다. 이게 무슨 소리인지 이해가 안갑니다. 동적 라우팅을 하기위해서 그 통로로써 이 부분이 존재하는 것 아닌가요..? 저는 당연히 브라우저에서 user/:id/posts를 요청하면 당연히 이 곳을 거쳐야 한다고 생각을 합니다. 아니 그냥 NEXT의 전체적인 순서가 이해가 안가는 것 같습니다.SSR CSR 각각은 이해가 가려는데 하이브리드에 동적 라우팅이런 주제랑 섞이니 기존의 지식이랑 연동이 안되는 것 같네요.. 조금 만 더 설명을 해주실 수 있을 까요? 감사합니다.
- 0
- 5
- 513
질문&답변
도와주세요...
userSchema.methods.findByToken= function(token,cb){ 가 아니라 userSchema.Static.findByToken= function(token,cb){ 이엇나 그랫을거에요
- 2
- 7
- 688
질문&답변
_app.js
왜 서버를 껐다 켜야하는 걸까요? 를 생각해보니 기존에 없던 다른 파일을 만들었기 때문이 아닐까 생각을 하고 넘어갑니다. 이미 만들어진 파일의 내용을 최신화해주는 것은 가능하지만, 없던 걸 만들어서 최신화 시켜줄 수 는 없으니까요
- 0
- 7
- 282
질문&답변
질문입니다.
Accounts 는 제일 위에 것 ( not default )으로 했고 my apps & credentials 은 asdasd입니다. 존안님 코드로 돌려도 여전히 똑같은 화면이 뜨네요 ㅠ (사진) (사진)
- 1
- 4
- 231
질문&답변
질문입니다.
자세한 설명 감사합니다. 정리하자면, 일반적으로 하나의 JS파일인 컴포넌트가 동작할 때는 useeffect가 먼저 켜진 후, 렌더링이 되는데 이 때 useeffect 내의 로직안에서 준비되지 못한 친구들은 일단은 그냥 넘어가게 된다. 그리고 그 값들이 준비가 된다면 ( [prop.user.userData] 가 제 값을 찾는다면 ) 다시 한번 리 렌더링이 되서 원하는 값을 찾게된다. 제가 이해한 것이 맞는지요? 감사합니다.
- 0
- 2
- 196
질문&답변
질문입니다.
감사합니다 ^^
- 0
- 2
- 273
질문&답변
썜 급해요!
강의 뒷 부분들으시면 모델에 대륙 빼먹은 거는 귀엽게 고치십니다 ㅎㅎㅎ 그리고 저는 그 코드가 이상하다고 생각해서 좀 고민 해봤는데 button 에 onclick이 없어도 된다고 생각을 해요. 어짜피 form태그에서 제출을 하니까요 저는 이렇게 코드를 작성해도 제출이 정상 동작했습니다. button type="submit" > 확인 button> 아마 다른 부분에서 오류가 나는 것 같은데.. .git으로 올려주시면 답변해줄수있을듯합니다
- 0
- 4
- 238
질문&답변
event.currentTarget.value
https://webisfree.com/2017-09-06/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-event-target-%ED%94%84%EB%A1%9C%ED%8D%BC%ED%8B%B0%EC%99%80-currenttarget-%ED%94%84%EB%A1%9C%ED%8D%BC%ED%8B%B0%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90%EC%9D%80 위에 글 보시면 잘 설명이 되어있는 것 같습니다. target을 쓰는 경우에는 이벤트 버블링의 최하위를 반환하는 형식이다보니 Onclick을 씌운 전체 태그가 아닌 다른 것이 잡힐 가능성이 있어서 귀찮은 일이 생길수도 있을 것 같군요. 긍데 2가지 중 뭘써도 코드만 명확히 작성한다면 기능은 동일하다고 생각해용
- 1
- 1
- 2K