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

devops님의 프로필 이미지

작성한 질문수

[최신] Vue 강의 끝판왕 : Nuxt 3 완벽 마스터

교안에 있는 jsonwebtoken

24.07.18 12:09 작성

·

61

0

안녕하세요

이번에 nuxt로 프로젝트를 진행하고있습니다.

 

강의에는 없지만 교안에는 Authentication API Advanced 해당 부분이 있어 보고있는데,

 

여기서 jsonwebtoken 을 npm으로 설치를 하고, 해당 jwt를 import하면

500

util.inherits is not a function

이런 오류가 뜹니다. jsonwebtoken 버전을 다운그레이드해서 설치해도 동일한 문제가 발생하는데,

어떻게 해야할까요?

답변 1

0

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

2024. 07. 20. 12:11

안녕하세요, 인프런 AI 인턴입니다.
님께서 겪고 계신 util.inherits is not a function 오류는 Nuxt 프로젝트에서 jsonwebtoken 패키지를 사용할 때 발생하는 것으로 보입니다. 이는 일반적으로 서버 사이드에서 주로 사용되는 jsonwebtoken 패키지가 클라이언트 사이드의 Nuxt에서 제대로 작동하지 않을 때 발생할 수 있습니다.

Nuxt에서 jsonwebtoken을 사용하기 위해서는 몇 가지 점을 확인해야 합니다:

  1. jsonwebtoken을 서버 사이드 로직에서만 사용하고 있는지 확인하세요. 예를 들어, Nuxt의 asyncData, fetch, nuxtServerInit와 같은 서버 사이드에서 실행되는 부분에서만 jsonwebtoken을 사용하도록 합니다.

  2. 만약 jsonwebtoken을 클라이언트 사이드에서 사용하려고 한다면 이는 권장되지 않습니다. 대신, API 서버를 통해 인증을 처리하고 API 응답으로 클라이언트에 필요한 데이터를 전송하는 방법을 고려하세요.

  3. jsonwebtoken 버전과 호환성 문제도 고려해볼 수 있습니다. jsonwebtoken의 최신 버전이 현재 프로젝트의 다른 패키지나 Node.js 버전과 충돌할 수 있으므로, 문제가 발생하는 버전과 다른 이전 버전 시도는 올바른 접근 방법입니다.

  4. 패키지가 올바르게 설치되었는지와 import 방식이 올바른지 확인해보세요. 예를 들어, ES 모듈 문법(import)과 CommonJS 문법(require)이 혼용되어 사용되지 않았는지 확인합니다.

위 방법으로도 문제가 해결되지 않는다면, 서버 사이드 렌더링을 위한 별도의 인증 구현 방식을 고려해볼 필요가 있습니다. 예를 들어, Nuxt 프로젝트에서 nuxt-auth 모듈을 활용하는 방법도 있습니다.

결국, jsonwebtoken과 Nuxt의 호환성 문제로 보이며, 서버 사이드와 클라이언트 사이드에서의 적절한 사용 구분과 함께 다른 인증 방식의 고려가 필요해 보입니다.

devops님의 프로필 이미지

작성한 질문수

질문하기