인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

이 규성님의 프로필 이미지

작성한 질문수

[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스

🔥 Web Front-end Bootcamp 강의 코드 다운로드🔥

숙제 5번인데

해결된 질문

작성

·

77

·

수정됨

0

"use client";
import styles from "./styles.module.css";
import Image from "next/image";

const IMAGE_SRC = {
  profileImage: {
    src: ("/assets/profile_image.png"),
    alt: "프로필이미지",
  },
  linkImage: {
    src: ("/assets/link.png"),
    alt: "링크아이콘",
  },
  locationImage: {
    src: ("/assets/location.png"),
    alt: "위치아이콘",
  },
  cheongsanImage: {
    src: ("/assets/cheongsan.png"),
    alt: "청산사진",
  },
  neotubeImage: {
    src: ("/assets/neotube.png"),
    alt: "너튜브사진",
  },
  badImage: {
    src: ("/assets/bad.png"),
    alt: "싫어요",
  },
  goodImage: {
    src: ("/assets/good.png"),
    alt: "좋아요",
  },
  hamberger: {
    src: ("/assets/hamberger.png"),
    alt: "목록아이콘",
  },
  pencil: {
    src: ("/assets/pencil.png"),
    alt: "수정아이콘",
  },
} as const;
export default function BoardsDetailPage() {
  return (
    <div className={styles.detailLayout}>
      <div className={styles.detailBody}>
        <div className={styles.detailFrame}>
          <div className={styles.detailSubject}>
            살어리 살어리랏다 쳥산(靑山)애 살어리랏다멀위랑 ᄃᆞ래랑 먹고
            쳥산(靑山)애 살어리랏다얄리얄리 얄랑셩 얄라리 얄라
          </div>
          <div className={styles.detailMetadataContainer}>
            <div className={styles.detailMetadataProfile}>
              <Image
                src={IMAGE_SRC.profileImage.src}
                alt={IMAGE_SRC.profileImage.alt}
                width={100}
                height={100}
              />
              <div>홍길동</div>
            </div>
            <div className={styles.detailMetadataDate}>2024.11.11</div>
          </div>
          <div className={styles.enrollBorder}></div>
          <div className={styles.detailMetadataIconContainer}>
            <Image
              src={IMAGE_SRC.linkImage.src}
              alt={IMAGE_SRC.linkImage.alt}
              width={100}
              height={100}
            />
            <Image
              src={IMAGE_SRC.locationImage.src}
              alt={IMAGE_SRC.locationImage.alt}
              width={100}
              height={100}
            />
          </div>
          <div className={styles.detailContentContainer}>
            <Image
              src={IMAGE_SRC.cheongsanImage.src}
              alt={IMAGE_SRC.cheongsanImage.alt}
              className={styles.detailContentImage}
                width={100}
                  height={100}
            />
            <div className={styles.detailContentText}>
              <div>살겠노라 살겠노라. 청산에 살겠노라.</div>
              <div>머루랑 다래를 먹고 청산에 살겠노라.</div>
              <div>얄리얄리 얄랑셩 얄라리 얄라</div>
              <div className={styles.textGap}></div>
              <div>우는구나 우는구나 새야. 자고 일어나 우는구나 새야.</div>
              <div>너보다 시름 많은 나도 자고 일어나 우노라.</div>
              <div>얄리얄리 얄라셩 얄라리 얄라</div>
              <div className={styles.textGap}></div>
              <div>
                갈던 밭(사래) 갈던 밭 보았느냐. 물 아래(근처) 갈던 밭 보았느냐
              </div>
              <div>이끼 묻은 쟁기를 가지고 물 아래 갈던 밭 보았느냐.</div>
              <div>얄리얄리 얄라셩 얄라리 얄라</div>
              <div className={styles.textGap}></div>
              <div>이럭저럭 하여 낮일랑 지내 왔건만</div>
              <div>올 이도 갈 이도 없는 밤일랑 또 어찌 할 것인가.</div>
              <div>얄리얄리 얄라셩 얄라리 얄라</div>
              <div className={styles.textGap}></div>
              <div>어디다 던지는 돌인가 누구를 맞히려던 돌인가.</div>
              <div>미워할 이도 사랑할 이도 없이 맞아서 우노라.</div>
              <div>얄리얄리 얄라셩 얄라리 얄라</div>
              <div className={styles.textGap}></div>
              <div>살겠노라 살겠노라. 바다에 살겠노라.</div>
              <div>나문재, 굴, 조개를 먹고 바다에 살겠노라.</div>
              <div>얄리얄리 얄라셩 얄라리 얄라</div>
              <div className={styles.textGap}></div>
              <div>가다가 가다가 듣노라. 에정지(미상) 가다가 듣노라.</div>
              <div>
                사슴(탈 쓴 광대)이 솟대에 올라서 해금을 켜는 것을 듣노라.
              </div>
              <div>얄리얄리 얄라셩 얄라리 얄라</div>
              <div className={styles.textGap}></div>
              <div>가다 보니 배불룩한 술독에 독한 술을 빚는구나.</div>
              <div>
                조롱박꽃 모양 누룩이 매워 (나를) 붙잡으니 내 어찌 하리이까.[1]
              </div>
              <div>얄리얄리 얄라셩 얄라리 얄라</div>
            </div>
            <Image
              src={IMAGE_SRC.neotubeImage.src}
              alt={IMAGE_SRC.neotubeImage.alt}
              width={100}
                  height={100}
            />
            <div className={styles.detailContentGoodOrBad}>
              <div className={styles.detailGoodContainer}>
                <Image
                  src={IMAGE_SRC.badImage.src}
                  alt={IMAGE_SRC.badImage.alt}
                  width={100}
                  height={100}
                />
                <div className={styles.detailBadText}>24</div>
              </div>
              <div className={styles.detailGoodContainer}>
                <Image
                  src={IMAGE_SRC.goodImage.src}
                  alt={IMAGE_SRC.goodImage.alt}
                  width={100}
                  height={100}
                />
                <div className={styles.detailGoodText}>12</div>
              </div>
            </div>
            <div className={styles.detailButtonsContainer}>
              <button className={styles.detailButton}>
                <Image
                  src={IMAGE_SRC.hamberger.src}
                  alt={IMAGE_SRC.hamberger.alt}
                  width={100}
                  height={100}
                />
                <div>목록으로</div>
              </button>
              <button className={styles.detailButton}>
                <Image src={IMAGE_SRC.pencil.src} alt={IMAGE_SRC.pencil.alt} 
                  width={100}
                  height={100}/>
                <div>수정하기</div>
              </button>
            </div>
          </div>
        </div>
      </div>
    </div>
  );
}
image.png
require

를 넣으면 왜 오류인지 require 어떤 기능인지 알 수 있을까요ㅕ?>

답변 2

1

노원두님의 프로필 이미지
노원두
지식공유자

안녕하세요! 규성님!

질문의 내용으로 보아, import 대신에 왜 require를 사용하면 안되는지를 질문하신 것 같아요!

javascript는 분리된 소스코드를 하나로 합치기 위해서 commonjs 방식module 방식이 존재한답니다!

 commonjs 방식을 사용하는 경우에, exports / require 셋트로 사용이 되며,
module 방식을 사용하는 경우에, export / import 셋트로 사용이 된답니다!

 

react 또는 nextjs를 사용하시는 경우에 내부에서 webpack 이라는 녀석이 위의 방식을 관리해 주게 되는데, 기본적으로 module 방식으로 작동하므로, export / import 셋트로 사용해 주셔야 한답니다!^^

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. 이 규성님!

이미지가 크게 나오는 문제는 주로 CSS 스타일이나 HTML 속성에서 발생합니다. 아래에서 몇 가지 고려할 수 있는 부분을 안내해 드리겠습니다:

  1. CSS 스타일 확인:

    • styles.module.css 파일 내에서 이미지와 관련된 스타일이 어떻게 설정되어 있는지 확인해 보세요. 예를 들어, 특정 크기로 명시되어 있거나, 크기가 자동으로 설정되었는지 여부를 확인하세요.
    • 예시:
      
      .detailContentImage {
      width: 100px; /* 크기를 조정하세요 */
      height: auto;
      }
      

  2. Image 컴포넌트의 width, height 속성:

    • Image 컴포넌트에서 widthheight 속성에 명시적으로 값을 넣어주셨는데, 적절한 값인지 다시 확인해 보세요. 이 값들이 이미지의 확대로 이어질 수 있습니다.
    • 예시 수정:
      
      <Image
      src={IMAGE_SRC.profileImage.src}
      alt={IMAGE_SRC.profileImage.alt}
      width={50} // 새로운 사이즈 제안
      height={50}
      />
      

  3. 이미지 라이브러리 설정 및 사용:

    • 만약 Next.js 이미지 최적화 기능을 사용 중이시면, 설정이 제대로 되었는지 확인하세요. 필요에 따라 layout 속성을 사용하여 이미지 크기를 조정할 수 있습니다.
    • 참고: Next.js 이미지 최적화 관련 공식 문서.

위의 방법들로도 해결되지 않는다면, 추가적인 콘솔 로그나 스크린샷을 참고하여 문제의 원인을 더욱 구체적으로 파악할 수 있습니다.

다음 링크에서 유사한 문제에 대한 해결책을 확인하실 수 있습니다:
- React 초기 세팅 yarn dev 오류

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.