작성
·
77
·
수정됨
0
안녕하세요 이정한 강사님!
강의를 듣다가
npm run build
를 실행 할 때, 컴파일에 실패하면서 img 태그에서 오류가 나는 상황입니다.
구글링과 여기서 나오는 말에 의하면, next/image의 Image를 사용하라고 나와있습니다.
해당 내용으로 바꿔서 사용하니 이미지 태그에서 이미지가 제대로 나오지 않는 현상이 발생하고 있습니다. 기존 img 태그와 image의 태그의 차이가 무엇이고, 왜 이미지가 잘 안나오는 것 일까요??
또, ESLint에 대한 규정을 build시 영향을 안받게 할 수는 없을까요??
두가지 질문 답변해주시면 감사하겠습니다!!
🚨 아래의 가이드라인을 꼭 읽고 질문을 올려주시기 바랍니다 🚨
질문 하시기 전에 꼭 확인해주세요- 질문 전 구글에 먼저 검색해보세요 (답변을 기다리는 시간을 아낄 수 있습니다)
- 코드에 오타가 없는지 면밀히 체크해보세요 (Date와 Data를 많이 헷갈리십니다)
- 이전에 올린 질문에 달린 답변들에 꼭 반응해주세요 (질문에 대한 답변만 받으시고 쌩 가시면 속상해요 😢)
질문 하실때 꼭 확인하세요
- 제목만 보고도 무슨 문제가 있는지 대충 알 수 있도록 자세한 제목을 정해주세요 (단순 단어 X)
- 질문의 배경정보를 제공해주세요 (이 문제가 언제 어떻게 발생했고 어디까지 시도해보셨는지)
- 문제를 재현하도록 코드샌드박스나 깃허브 링크로 전달해주세요 (프로젝트 코드에서 문제가 발생할 경우)
- 답변이 달렸다면 꼭 확인하고 반응을 남겨주세요
- 강의의 몇 분 몇 초 관련 질문인지 알려주세요!
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
답변 3
0
안녕하세요 마누송지혁님
해당 내용은 아래의 라마너스님께서 말씀해주셨듯이 오류가 아닌 경고 및 권고 사항정도로 지금 단계에서는 무시하셔도 괜찮습니다. 해당 경고 메세지는 말씀하신대로 <img> 대신 next/Image를 사용하라는 의미인데요 이에 대해서는 이후 챕터에서 자세히 살펴보고 있으니 쭉 수강하시면 되겠습니다.
0
해당 내용 warning이라서 기다리면 빌드가 되지 않으시던가요?
./src/components/book-item.tsx
9:9 Warning: Using `<img>` could result in slower LCP and higher bandwidth. Consider using `<Image />` from `next/image` to automatically optimize images. This may incur additional usage or cost from your provider. See: https://nextjs.org/docs/messages/no-img-element @next/next/no-img-element
9:9 Warning: img elements must have an alt prop, either with meaningful text, or an empty string for decorative images. jsx-a11y/alt-text
./src/pages/book/[id].tsx
31:9 Warning: Using `<img>` could result in slower LCP and higher bandwidth. Consider using `<Image />` from `next/image` to automatically optimize images. This may incur additional usage or cost from your provider. See: https://nextjs.org/docs/messages/no-img-element @next/next/no-img-element
31:9 Warning: img elements must have an alt prop, either with meaningful text, or an empty string for decorative images. jsx-a11y/alt-text
./src/pages/search/index.tsx
21:6 Warning: React Hook useEffect has a missing dependency: 'fetchSearchResults'. Either include it or remove the dependency array. react-hooks/exhaustive-deps
info - Need to disable some ESLint rules? Learn more here: https://nextjs.org/docs/basic-features/eslint#disabling-rules
✓ Linting and checking validity of types
Creating an optimized production build ...
✓ Compiled successfully
✓ Collecting page data
Generating static pages (0/9) [ ]index page
✓ Generating static pages (9/9)
✓ Collecting build traces
✓ Finalizing page optimization
옵션은 여기서 확인하시면 될거같아요.
https://nextjs.org/docs/app/api-reference/config/next-config-js/eslint
0
안녕하세요, 인프런 AI 인턴입니다. 마누송지혁님!
Next.js에서 img
태그를 사용하는 대신 next/image
모듈의 Image
컴포넌트를 사용하는 이유와 관련하여 몇 가지 정보를 드리겠습니다.
img
태그와 next/image
의 차이img
태그는 브라우저 기본 HTML 요소로, 단순히 이미지를 표시할 때 사용합니다.next/image
의 Image
컴포넌트는 Next.js에서 제공하는 이미지 최적화 도구로, 다양한 이점을 제공합니다:next/image
를 사용할 때 경로 설정이 잘못될 경우 이미지가 나타나지 않을 수 있습니다.src
속성의 경로가 올바른지, 그리고 width
와 height
속성이 지정되어 있는지를 확인해보세요.next.config.js
파일의 domains
속성에 허용할 도메인을 추가해야 합니다.ESLint 규정을 완화하거나 특정 규칙을 무시하고 싶으면 다음과 같은 방법을 사용할 수 있습니다:
- 프로젝트의 .eslintrc
파일에서 특정 규칙을 비활성화할 수 있습니다.
- 코멘트를 통해 파일 내 특정 부분만 무시하도록 설정할 수 있습니다:
// eslint-disable-next-line no-unused-vars
const unusedVariable = "This won't trigger ESLint error";
위 문제에 대해 유사한 질문과 답변은 다음 링크를 참고하시기 바랍니다:
- “Next.js에서 Image 컴포넌트의 사용과 최적화 방법”
- “ESLint 규칙 무시하기 및 설정 관리”
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
말씀하신 것 처럼 ESLint 를 ignore 변수 설정을 안해놔서 ESLint 규칙이 엄격하게 적용 된 것 같습니다. ignore 설정 후에 build 잘 되네요 감사합니다!