강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

jnrsej1004님의 프로필 이미지
jnrsej1004

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

오류가 납니다 ㅠㅠ

작성

·

148

0

다이나믹 라우터가 계속 오류가 나서

제로초님 깃허브에서 models 파일에 있는 코드로 바꿨더니

백엔드 실행하면 계속 아래와 같은 오류가 납니다. 

 

model안에 있는 comment.js 파일만 예로 들어서 보면,

최근 강의에서 만들었던 코드는 이러한 형태인데, 

module.exports = (sequelize, DataTypes) => {
  const Comment = sequelize.define(
    "Comment",
    {
      //MySQL에는 users 테이블 생성
      //id가 기본적으로 들어있다.
      content: {
        type: DataTypes.TEXT,
        allowNull: false,
      },
      //belongsTo 작성시 생기는 것들
      //UserId:1
      //PostId:3
    },
    {
      charset: "utf8mb4",
      collate: "utf8mb4_general_ci", //한글 저장
    }
  );
  Comment.associate = (db) => {
    db.Comment.belongsTo(db.User);
    db.Comment.belongsTo(db.Post);
  };
  return Comment;
};

 

깃허브에 있던 복사했던 코드는

복사했던 코드는 이거였고,

const DataTypes = require('sequelize');
const {Model} = DataTypes;

module.exports = class Comment extends Model {
  static init(sequelize){
    return super this.init({
      //id가 기본적으로 들어 있다.
      content: {
        type: DataTypes.TEXT,
        allowNull: false,
      },
      //UserId:1
      //PostId:3
    },{
      modelName:'Comment',
      tableName :'comments',
      charset: "utf8mb4",
      collate: "utf8mb4_general_ci", //한글 저장
      sequelize,
    });
  }
  static associate(db){
    db.Comment.belongsTo(db.User);
    db.Comment.belongsTo(db.Post);
  }
};

오류는아래와 같은 형태로 나옵니다

[nodemon] 2.0.16

[nodemon] to restart at any time, enter `rs`

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

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

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

    at Object.<anonymous> (C:\Users\eunjeong\Desktop\Front-end\인프런\NodeBirdSns\back\models\index.js:2:17)   

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

[nodemon] app crashed - waiting for file changes before starting...

[nodemon] restarting due to changes...

[nodemon] starting `node app.js`

C:\Users\eunjeong\Desktop\Front-end\인프런\NodeBirdSns\back\models\comment.js:6

    return super this.init({

           ^^^^^

 

SyntaxError: 'super' keyword unexpected here

    at Object.compileFunction (node:vm:352:18)

    at wrapSafe (node:internal/modules/cjs/loader:1032:15)

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

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

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

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

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

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

    at Object.<anonymous> (C:\Users\eunjeong\Desktop\Front-end\인프런\NodeBirdSns\back\models\index.js:2:17)   

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

[nodemon] app crashed - waiting for file changes before starting...

 

 

혹시 깃허브에 있는 코드와 강의코드랑 충돌이 나는건지 궁금합니다 ㅠㅠ

uper 관련해서 오류가 뜨는데 왜 오류가 뜰까요ㅠㅠ

 

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

오타를 내셨는데요. super.init이지 super this.init이 아닙니다. 강좌보다 깃허브코드가 더 최신입니다.

jnrsej1004님의 프로필 이미지
jnrsej1004
질문자

this는 제가 왜 붙였을까요ㅠㅠ바보같네요ㅠㅠ감사합니다!!

jnrsej1004님의 프로필 이미지
jnrsej1004

작성한 질문수

질문하기