Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- docker
- 코딩테스트
- 파이썬
- Android
- JavaScript
- 오퍼월
- toml
- python
- 광고 id
- 티스토리챌린지
- TypeScript
- React
- react-native
- 백준
- css
- NanoHttpd
- Jenkins
- nginx
- EC2
- 코테
- nuxt
- 오블완
- spring boots
- Express
- AWS
- kotlin
- 개발
- chrome
- it
- Next
Archives
- Today
- Total
내맘대로 개발일지
[NextJS] unhandledRejection: Error [ReferenceError]: Image is not defined 본문
Javascript/Next
[NextJS] unhandledRejection: Error [ReferenceError]: Image is not defined
eulBlue 2023. 8. 21. 14:14
📱테스트 환경
"react": "18.2.0"
"react-dom": "18.2.0"
"typescript": "^5.1.6"
😢 내가 겪은 문제
기존에 .tsx 파일에 같이있던 함수를 분리하는 도중에 해당 코드에서 에러가 발생했다.
unhandledRejection: Error [ReferenceError]: Image is not defined
const imageElement = new Image();
^
이게 에러가 브라우저 콘솔창에서는 안나왔는데, VS Code 터미널에는 발생하는 에러였다.
딱히 문제가 되는 건 없었는데, 매우 거슬렸다.
해당 스택오버플로우를 참고해서 수정해봤는데 깔끔하게 실패했다. 에러는 나랑 같은 것 같은데, 이렇게 하는게 아닌 것 같았다.
Next.js - Image is not 'defined"
I am developing the linebot to receive picture with QR-code. As you can see on below code I have already success to save file in to local folder as 'logo.png' in stream.on('end' , ...) Then I want ...
stackoverflow.com
일단 원인은 Image 클래스는 브라우저의 DOM 요소로, 클라이언트 측에서만 사용할 수 있다.
다시말해서 브라우저 환경에서는 동작하지만, 서버 측에서는 해당 클래스가 없다는 에러가 발생한다고 한다.
이를 해결하기 위해서는 스크립트가 웹 페이지에서 실행되고 있는지 여부를 확인해주고 실행시켜주면 깔끔하게 해결 할 수있다.
if (typeof window !== "undefined") {
...
const imageElement = new Image();
...
return imageElement;
}
생각보다는 쉽게 해결할 수 있는 방법이 있어서 다행이다.
아니면 자동으로 검사할 수 있는 useEffect 를 사용하는 것도 하나의 방법일 수 있겠지만, 나는 함수를 분리하고싶었다.
useEffect(() => {
}, [])'Javascript > Next' 카테고리의 다른 글
| [NextJS] 카카오톡 인앱 웹뷰에서 이미지 다운로드 하는 방법 (0) | 2023.08.22 |
|---|---|
| [NextJS] 소셜 공유하기 ( 카카오톡, 트위터, 페이스북 ) (0) | 2023.08.21 |
| [NextJS] Syled-components 사용하는 방법 (0) | 2023.08.17 |
| [NextJS] NextJS 모바일 시스템공유 하는방법 (0) | 2023.08.17 |
| [NextJS] 이미지 다운로드 하는 방법 (0) | 2023.08.17 |