• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Next.js 게시판 Module not found: Can't resolve 'fs' 에러에 관하여

Module not found: Can't resolve 'fs' 에러에 관하여

4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 글쓴이
  • #114764

    김도균
    참가자
    선생님 안녕하세요 다름이 아니고 제가 회원기능 만들기 : OAuth + session방식 사용하기 에서 숙제를 마치고 추가적으로 게시물에 email과 
    로그인 한 유저의 이메일이 같을때 삭제 버튼이 보이게끔 구현을 하기 위해서 
     
    detailLink.js
    'use client'
    import {useRouter} from "next/navigation";
    import {getServerSession} from "next-auth";
    import {authOptions} from "@/pages/api/auth/[...nextauth]";
    export default function DetailLink(props){
        let router = useRouter()
        let session = getServerSession(authOptions)
        return (
            <div>
                <button onClick={() => {router.push(`/update?id=${props.obId._id}`)}}>수정</button>
                { (session.user.email === props.obId.email) ?
                <button onClick={(e) => {
                    fetch('/api/server', {
                        method : "DELETE",
                        body : JSON.stringify({deleteId: props.obId._id})
                    }).then((r) =>{
                        if(r.status === 200){
                            return r.json()
                        }
                    } ).then(()=>{
                        e.target.parentElement.parentElement.style.opacity = 0;
                        setTimeout(()=>{
                            e.target.parentElement.parentElement.style.display = "none";
                        }, 1000)
                    })
                }}>삭제</button> :  null
                }
            </div>
    )
    listClient.js
    
    
    'use client'
    import Link from "next/link";
    import DetailLink from "@/app/list/detailLink";
    export default function ListClient({result}){
    return (
            <div>
                {
                    result.map((a, i)=> {
                        return <div className="list-item" key={i}>
                            <a href={`/detail/${result[i]._id}`}>
                                <h4>{result[i].title}</h4>
                            
                            <p>{result[i].content}</p>
                            <p style={{display:"none"}}>{result[i]._id}</p>
                            <DetailLink obId={result[i]}/>
                        </div>
                    })
                }
            </div>
        )
    }
    
    page.js
    
    
    import {connectDB} from "@/util/database";
    import Link from "next/link";
    import DetailLink from "@/app/list/detailLink";
    import ListClient from "@/app/list/ListClient";
    export const dynamic = 'force-dynamic'
    export default async function List(props){
        const client = await connectDB()
        const db = client.db("nx")
        let result = await db.collection("post").find().toArray()
        console.log(props)
        return (<div className="list-bg">
                <ListClient result={result}/>
        </div>)
    }
    
    를 위와 같이 구현을 했습니다
    
    그런데 콘솔창을 확인하니 /list를 컴파일 하는 과정에서 Module not found: Can't resolve 'fs' 해당 애러가 발생하였습니다
    
    그래서 무한 구글링 결과 next.config.mjs와 webpack.config.js 파일 생성후 설정 변경등 여러가지 방법을 진행하였지만 애러가 변하지를 않더라구요
    
    혹시 위에 코드에서 위 애러와 관련한 문제가 발생할 이유가 따로 있을까요?? 그 부분이 조금 궁금합니다
    
    
    
    
    		
    	
    #114765

    김도균
    참가자
    추가: 다음 진도를 위해 위에 바꾼 코드를 원상 복구 시켰는데도 같은 애러 반복되고 있습니다
    #114773

    codingapple
    키 마스터
    'use client'에서 getServerSession 같은거 못씁니다 useSession이었나 써야합니다
    
    #114866

    김도균
    참가자
    넵 감사합니다 userSession 사용하여 해결하였습니다
4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠