NextAuth.js+API Routes+Prisma....위장할 필요 없어!?의 스택 응용 프로그램입니다.
주요 학습 전단에 있는 저에게Firebase는 없어서는 안 될 동반자입니다.
(아니,'그렇다'고 해야 하나? 이번에는'Next Auth.js'와'Next API Routes'를 시도하기 전에)
아래의 기술 스택을 이용하여 간단한 앱을 만들었기 때문에 Firebase를 비교하면서 소감을 썼습니다.
전제로 삼다
여기에는 개인 개발 등 비교적 작은 앱을 구상해 많이 썼다.







달콤하게 설치한 부분도 있지만

게스트 로그인도 있으니 봐주세요


'Firebase Authentication'에 가까운 수준에서 간단하게 인증 기능을 구현할 수 있다.
SNS 로그인 인증이라면 거의 손색이 없다.
다만, 우편 주소 인증과 관련해서는 Firebase에 필적할 수 없다고 한다.
UI를 맞춤형으로 제작하여 인증 메일을 보내는 것이 좀 번거롭습니까?
다른 한편,Next Auth의 장점으로 로그인 여부를 관리하기 쉬운sessin을 사용하는 것이 좋다고 생각합니다.Firebase에서 onAuth State Changed 방법을 사용할 것 같지만, 이 방법을 어디서 사용하거나 데이터를 어디에 저장하는지 기억합니다.
이메일 주소 인증이 필요하지 않은 경우 NextAuthjs를 추천하고 싶습니다.
[...NextAuth.ts]를 확인하십시오.

create-next-app
실행 후 페이지 디렉터리 아래에 기본적으로api 디렉터리를 만듭니다.이api 디렉터리에서 만든 파일에서 클라이언트가 호출하는 API를 정의할 수 있습니다.Express를 가져올 필요도 없습니다.

다만 개인적으로 미묘한 점은 페이지 아래에api 디렉터리를 놓으면 앞사람과 시각적으로 섞인다는 것이다.이번 소규모 개발마저도 어렵다고 느낀다.가능하다면 API 측은 프런트 측과 명확하게 구분하고 싶어한다.

Giithub을 누르면 자동으로 구축 디자인이 진행되어 매우 간단합니다.
이전에 SSR에 설치된 Nuxt입니다."Firebase Hosting"으로 js의 응용 프로그램을 설계했지만 "Cloud Function"의 설정이 필요합니다.
모든push가 디자인된 곳도vercel의 장점이다.
구축에 실패하면, 포맷을 만들 때 알려줄 수 있습니다.

이번에 가장 실패한 것은 테스트를 실시하는 것이다.
Next Auth.js와 API routes의 공식 추천 Cypress.다른 것은 넥스트-test-appi-route-handler 같은 모듈 등도 선택할 수 있다.
자세한 내용은 공식 문서에서 확인하세요.
github에서 다양한 시행례를 확인했지만 결국 제스트를 채택했다.
node-mocks-http를 사용하면 비교적 유창하게 기술할 수 있습니다.
다만, API 테스트는 솔직히 상당히 게으르다.
모범 사례라고 할 자신은 없지만, 개인적으로는 제스트가 침착하다고 생각한다.
테스트 디렉토리를 확인하십시오.
총결산
앞으로의 개인 개발은 상술한 기술 창고를 사용하고 싶다.
물론 Firebase의 개발 전체 속도가 더 빠르다.
하지만 Firebase에 대한 포착 자체도 상당한 시간 비용이 필요하다.
(NosQL의 Firestore는 재미있지만...)
그래서 당분간은 Vue다.js(Nuxt.js)를 떠나려는 것 같습니다.
Next.js 너무 좋아요.
Reference
이 문제에 관하여(NextAuth.js+API Routes+Prisma....위장할 필요 없어!?의 스택 응용 프로그램입니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kondo97/items/e17e662d78c088960b35텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)