nuxt 에서 외부 라이브러리 객체 생성시 가장 좋은 방법은 어떤 것입니까?

조회수 409회

nuxt 개발 중입니다.

저는 외부 라이브러리를 사용하기 위해 page/about.vue 의 mounted () 에서 객체를 생성합니다.

이제 사용자가

  1. page/index.vue 페이지에 접속
  2. page/about.vue 접근
  3. middleware 에 따라 page/login.vue 으로 이동
  4. 로그인 후 다시 page/index.vue 로 리다이렉팅.
  5. 다시 page/about.vue 에 접근하니 객체를 생성하지 않아서 찾을 수 없다는 에러 메시지.

이 객체는 mounted() 안에

new library.widget({}) 식으로 작성되어 있습니다.

한편, 페이지 이동을 nuxt-link 가 아니라 a 태그라면 문제가 없어집니다.

초기화 위치가 잘못된 걸까요? nuxt 앱에서 a 태그를 써야하는 걸까요? 도움 부탁드립니다.

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기

    Vue나 Nuxt는 잘 모르지만 그냥 딱 드는 느낌은 로그인 후 리다이렉팅을 어떻게 하는지를 점검할 필요가 있겠다는 것입니다. 한마디로 "로그인이 되긴 됐냐?"는 것이지요. 상당한 확률로, 4단계가 끝났을 때, 사실은 로그인이 성공해 있지 않은 상태일 수가 있습니다.

    로그인이란 곧 인증 정보를 획득하는 과정인데, 말씀 주신 상황은 서버가 애초에 인증 정보를 못 준 건지, 서버가 준 인증 정보를 클라이언트가 유실했는지 등을 의심할 필요가 있어 보입니다. a 태그로 이동했더니 잘 되더라는 대목 때문에 특히 그러한데, 왜냐하면 서버가 인증 정보를 쿠키로 주고 있을 경우, 운이 나쁘면 그 쿠키는 AJAX로 얻어서 기기에 써놓기가 어렵거든요.

    그 부분 한번 확인해 보시겠어요? mounted()는 그 다음 얘기입니다.

    • 무슨 말씀인지 이해했습니다. 검토하는 데에 도움이 되었습니다! 상남자 2021.10.6 08:08

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)