inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지

팔로우, 해시태그 검색 기능 만들기

옵셔널 체이닝 문법에서 에러가 나요

341

강동우

작성한 질문수 6

0

옵셔널 체이닝을 인식할수가 없는데 vscode에서 어덯게 새팅해야하나요? 그리고 ctrl + s 하면 저 부분이 자꾸 띄워지는데 띄워지는것도 어덯게 해결이 가능할까요?
찾아보니깐 루트에다가 jsonconfig.json 추가하면 된다고 하는데 해봣는데 안돼고, 어디서는 onsave 어디 건들면 된다는데 해봤는데도 안되더라고요... 혹시 선생님께서 아실까요?

C:\Users\dongw\Desktop\nodejs\nodeJsSNS\routes\page.js:11

res.locals.followerCount = req.user ? .Follower.length;

^

SyntaxError: Unexpected token '.'

at internalCompileFunction (node:internal/vm:73:18)

at wrapSafe (node:internal/modules/cjs/loader:1176:20)

at Module._compile (node:internal/modules/cjs/loader:1218:27)

at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)

at Module.load (node:internal/modules/cjs/loader:1117:32)

at Module._load (node:internal/modules/cjs/loader:958:12)

at Module.require (node:internal/modules/cjs/loader:1141:19)

at require (node:internal/modules/cjs/helpers:110:18)

at Object.<anonymous> (C:\Users\dongw\Desktop\nodejs\nodeJsSNS\app.js:20:20)

at Module._compile (node:internal/modules/cjs/loader:1254:14)

Node.js v18.16.0

node.js mysql mongodb express typescript socket.io jwt

답변 2

0

강동우

일단 에러나는 소스코드인 routers/page.js 입니다

const express = require('express');

const router = express.Router();

const { renderJoin, renderMain, renderProfile, renderHashtag } = require('../controllers/page');

const { isLoggedIn, isNotLoggedIn } = require('../middlewares');

//아래 라우터들에서 공통적으로 사용가능한 변수를 선언

router.use((req, res, next) => {

// layout.html에 있

res.locals.user = req.user;

//아래처럼 ?. 은 옵셔널 체이닝 문법

res.locals.followerCount = req.user?.Follower.length;

res.locals.followingCount = req.user?.Followings.length;

res.locals.followingList = req.user?.Followings.map(f => f.id);

// req.session.data = '123'; 사용자의 딸려있는 데이터를 확인 가능

next(); // 집어넣어야 미들웨어 동작한다

});

// isLoggedIn은 middlewares안에 있는 index안에 있는 함수이다

// isLoggedIn은 로그인된 상태인지 확인

//즉 profile을 확인하기 위해서 로그인이 되어있어야하기때문에 로그인여부 확인

router.get('/profile', isLoggedIn, renderProfile);

// 로그인이 안되어있는지 확인하는것.

// 로그인이 안되어있으면 회원가입 페이지로

router.get('/join', isNotLoggedIn, renderJoin);

router.get('/', renderMain);

router.get('/hashtag',renderHashtag); // hashtag?hashtag=고양이

module.exports = router;

혹시몰라 제가 작업중인 github 주소도 올리겠습니다
https://github.com/donghyoya/nodesJsSNS/blob/main/routes/page.js

1

제로초(조현영)

이거 소스는 문제가 없는데 vscode에서 자꾸 한 칸을 띄우는게 문제입니다. 혹시 eslint나 prettier같은거 살치하신 적 있으면 그거 설정이 문제일 겁니다

0

제로초(조현영)

vscode 버전은 어떻게 되나요? 1.41+ 이상이어야 합니다.

그리고 에러메시지에서 ^ 가 있는 위치가 ?. 부분이 맞나요?

0

강동우

냅 위처럼 에러가 옵셔널 체이닝쪽에 에러납니다. 그리고 버전역시 1.41+ 이상입니다

0

제로초(조현영)

이거 전 코드 전체 보여주세요. 노드 버전 18버전이고 vs code 버전이면 문제 없어야하긴 합니다

깃헙 질문

0

80

2

강의 1-1 수업노트의 로드맵 링크가 작동하지 않습니다.

0

75

1

aws - lightsail 이용 관련

0

57

1

4강 http 서버 만들때 ESM방식으로 해도 될까요?

0

79

2

모듈 사용 시 단점이 있나요?

0

80

1

node.js 버전 및 typescript 적용 문의

0

92

2

12.7. 방장기능(강퇴) 질문드립니다.

0

79

2

12.7 socket.js코드 그대로 뱃겨서 했는데, socket.request.session.color가안나오네요

0

68

1

12.7 코드 그대로 뱃겨서 햇는데 스샷같이 오류가뜹니다.

0

74

2

12.7.1스스로 해보기 질문되나요

0

90

3

시퀄라이즈 실습하기 질문드립니다.

0

188

9

<7-5. 시퀄라이즈 사용하기>수업 질문 드립니다.

0

95

2

크롬에서 user id를 인풋에 입력하고 등록하면 404 에러처리 페이지가 뜹니다.

0

110

2

구매 결제관련 질문입니다 !

0

121

1

다수의 supertest 가 실행될 때 force:true로 인한 DB 초기화 문제

0

132

2

node 설치 방법이 전혀다르게 바뀐것 같습니다.

0

149

2

12강 깃허브에 있는 12.7 chat.html 복붙했는데 css오류

0

120

2

무료/프리미엄 동시 소유 시 질문

0

115

1

비주얼 스튜디오 코드로 계속 진행해도 괜찮을까요?

0

134

2

10강 cors에러 localhost:4000으로 접속했을때 에러

1

156

2

webstorm 해결할 수 없는 변수 문제

0

153

2

혹시 몽고DB 쓸거면 MySQL 강의 스킵해도 되나요?

0

147

2

LightSail 실행 중 오류 질문드립니다!

0

201

2

RedisStore 사용법 질문

0

131

2