• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

선생님 안녕하세요

21.03.26 22:56 작성 조회수 102

1

    component: () => import(/* webpackChunkName: "contact", webpackPrefetch:true */ '../views/Contact.vue')

저는 여태 언어를 사용해오면서 주석은 무조건 컴파일러가 무시하는 부분이라고 알고있었는데 어떻게 이 코드에서 주석처리 되어있는 부분이 작동을 할수있는지 여쭤보고싶습니다!

답변 2

·

답변을 작성해보세요.

1

김태희님의 프로필

김태희

질문자

2021.03.27

여태 배웠던것에 대한 고정관념을 버리고 개발에 임해야겠다는 생각을 가지게됬습니다 훗날 저도 vue같은 프레임워크를 직접 개발할정도의 실력이 된다면 주석이라는것은 무조건 컴파일러가 무시한다라는 생각을 가지고있다면 이렇게 주석을 가지고 다양한 시도를 하지 못할것 같네요

색다른 경험을 한 것같아 정말 기분이 좋습니다! 선생님이 말씀해주신 답변도 명쾌하고요! 아침 일찍부터 감사드립니다 :D

여태 저도 김태희님이 문의하신 내용에 대한 의문을 안가졌었고, 제가 vue 강의를 하면서 그 누구도 이런 질문을 안했었는데,

김태희님께서는 이미 훌륭한 개발자가 될 자질을 가지고 있는것 같습니다.

응원하겠습니다.

1

안녕하세요.

너무 좋은 질문을 해주셔서 감사합니다. 말씀하신것처럼 주석은 컴파일러가 무시하는 부분이 맞습니다.

vue router 문서에서 제공하는 사용 문법 그대로 적용해서 사용하면서, 말씀하신 주석 부분이 어떻게 실행이 되지? 라는 의문을 가진적이 없는데 이렇게 좋은 질문을 해주셔서 감사합니다.

문의하신 부분에 대한 제 답변을 말씀드리겠습니다. vue에서 내부적으로 어떻게 처리하고 있는지는 모르겠지만, 결국 주석이라는 것도 해당 언어마다의 약속입니다. 주석에 대한 표기법이 약속이 되어 있고 해당 표기법을 사용한 것은 주석이고, 이건 코드로 실행하지 않겠다라고 약속이 되어 있는 거라고 생각하면 좋을 것 같습니다.

문의하신 부분에 대한 vue에서의 내부 처리로직은 모르겠지만,

작성된 코드를 실행을 위한 용도로 읽을수도 있지만,  실행이 아닌 파일 그 자체로, 파일 안의 내용을 읽는 코드를 짜는건 어려운 일이 아닙니다. 단순하게 import 안에 /**/ 부분이 있는지 문법적으로 확인하고, 있다면 /**/안의 내용을 파싱해서 처리하는 것은 어려운일이 아니기 때문에 주석으로 되어 있지만 프로그램적으로는 얼마든지 처리가 될 수 있는 부분이라고 생각합니다.

또한 /* */ 안에 내용을 보시면 일반적인 주석처럼 아무 내용이나 적을 수 있는게 아니고 특정한 형식을 갖는 정해진 key/value만 넣을 수 있게 한 것을 보면 주석 안에 내용을 파싱하고 자바스크립트 오브젝트 key/value 처럼 사용하는 것으로 추측이 됩니다.

제가 답변 드리는 내용이 정답이 아닐수 있지만, 요지는 주석으로 되어 있지만, 프로그램적으로 사용하는 것은 가능하다는 취지에서 답변드렸습니다.