옵셔널 체이닝 문법에서 에러가 나요
341
작성한 질문수 6
옵셔널 체이닝을 인식할수가 없는데 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
답변 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
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






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