노드버드 7장 오류 질문드립니다
572
작성한 질문수 4
app.js
const express = require("express");
const cookieParser = require("cookie-parser");
const morgan = require("morgan");
const path = require("path");
const session = require("express-session");
const nunjucks = require("nunjucks");
const dotenv = require("dotenv");
const { sequelize } = require("./models");
dotenv.config();
const pageRouter = require("./routes/page");
const app = express();
app.set("port", process.env.PORT || 8001);
app.set("view engine", "html");
nunjucks.configure("views", {
express: app,
watch: true,
});
//force:true로 할 시 서버 재시작시 모든 데이터베이스 날리고 다시 시작, true는 개발용
sequelize
.sync()
.then(() => {
console.log("데이터베이스 연결 성공");
})
.catch((err) => {
console.error(err);
});
app.use(morgan("dev"));
app.use(express.static(path.join(__dirname, "public")));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser(process.env.COOKIE_SECRET));
app.use(
session({
resave: false,
saveUninitialized: false,
secret: process.env.COOKIE_SECRET,
cookie: {
httpOnly: true,
secure: false,
},
})
);
app.use("/", pageRouter);
app.use((req, res, next) => {
const error = new Error(`${req.method} ${req.url} no exist router.`);
error.status = 404;
next(error);
});
app.use((err, req, res, next) => {
res.locals.message = err.message;
res.locals.error = process.env.NODE_ENV !== "production" ? err : {};
res.status(err.status || 500);
res.render("error");
});
app.listen(app.get("port"), () => {
console.log(app.get("port"), "waiting at the empty port.");
});
index.js
const Sequelize = require("sequelize");
const fs = require("fs");
const path = require("path");
const env = process.env.NODE_ENV || "development";
const config = require("../config/config.json")[env]; //설정 불러오기
const db = {};
const sequelize = new Sequelize( //불러온 설정을 시퀄라이즈와 연결하는 부분
config.database,
config.username,
config.password,
config
);
const basename = path.basename(__filename); //index.js
fs.readdirSync(__dirname)
.filter((file) => {
return (
file.indexOf(".") !== 0 && // .으로 시작하는 파일은 숨김 파일이라는 의미 그래서 제외
file !== basename && //현재 파일인 index.js는 제외
file.slice(-3) === ".js" //마무리로 확장자가 .js인 파일만 불러오기
);
})
.forEach((file) => {
const model = require(path.join(__dirname, file));
console.log(file, model.name);
db[model.name] = model; //model.name은 model파일에서 class의 이름과 동일함
model.initiate(sequelize);
});
Object.keys(db).forEach((modelName) => {
//위에서 initiate할 때 같이 associate까지 하면 되지 않냐라고 할 수 있지만 associate는 모든 파일을 initiate해주고 해야함
console.log(db.modelName);
if (db[modelName].associate) {
db[modelName].associate(db);
}
});
module.exports = db; //시퀄라이즈와 그의 모델들은 자주 사용하니까 서로 묵어서 exports 해줌 언제어디서든 쓸 수 있게
.sync()
^
TypeError: Cannot read properties of undefined (reading 'sync')
at Object.<anonymous> (C:\Users\zzan9\OneDrive - dgu.ac.kr\nodejs\nodebirdSNS2\app.js:22:6)
at Module._compile (node:internal/modules/cjs/loader:1267:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1321:10)
at Module.load (node:internal/modules/cjs/loader:1125:32)
at Module._load (node:internal/modules/cjs/loader:965:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:83:12)
at node:internal/main/run_main_module:23:47
Node.js v20.1.0
이런 오류가 뜨는데 왜 뜨는지 모르겠습니다.. 검색해도 답이 나오지 않길래 질문드립니다
답변 1
깃헙 질문
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
148
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
152
2
혹시 몽고DB 쓸거면 MySQL 강의 스킵해도 되나요?
0
147
2
LightSail 실행 중 오류 질문드립니다!
0
199
2
RedisStore 사용법 질문
0
131
2





