next.config.js 여러 플러그인 연결하기
다음 플러그인 사용하기
https://www.npmjs.com/package/next-compose-plugins
1 | const withTM = require("next-transpile-modules")([ |
다음 플러그인 사용하기
https://www.npmjs.com/package/next-compose-plugins
1 | const withTM = require("next-transpile-modules")([ |
next.js의 경우 node_modules내부의 패키지에서 전역으로 css를 import하면 에러를 발생시킨다.
구글링을 통해 해결하였다.
1 | ./node_modules/@fullcalendar/common/main.css Global CSS cannot be imported from within node_modules. Read more: https://err.sh/next.js/css-npm Location: node_modules/@fullcalendar/common/main.js |
1 | npm i next-transpile-modules @babel/preset-react |
next-transpile-modules 는 node_modules 내부의 패키지에 css/scss파일이 포함 될 수 있도록 transpile 하는 플러그인이다.
이후 next.config.js 파일을 다음과같이 작성해주었다.
1 | /** @type {import('next').NextConfig} */ |
공부할 예정인 next-compose-plugins를 통해 간편하게 여러 플러그인을 import 할 수 있다.
next css-npm
How To Use Fullcalendar With Next.js (v10 or higher)
nextjs+ mongoDB 연동을 해보았다.
루트 디렉토리에 .env 파일을 만들어준다.
.gitignore가 존재할 경우 .env도 추가해주어야 한다.
.env
1 | MONGODB_URL=mongodb+srv://<사용자명>:<사용자 비밀번호>@cluster0.gvztc.mongodb.net/<DB이름>?retryWrites=true&w=majority |
nodejs와 연동하기 위해 mongoose 모듈을 설치해준다.
1 | npm i mongoose |
캐시를 통해 핫리로드가 가능하게 하고 데이터베이스를 불러온다.
공식문서에서 가져왔다.
1 | import mongoose from "mongoose"; |
스키마를 정의해주고 모델을 반환한다.
db에 해당 스키마가 존재하지 않을 경우 생성하고 모델을 반환한다.
1 | import mongoose from "mongoose"; |
next.js에서는 api를 만드는 기능을 제공한다.
express와 비슷하다. RESTful한 API도 생성이 가능하다.
1 | /pages/api/product/index.js 주소/api/product로 접근 가능 |
아래 코드는 주소/api/product
를 통해 접근 가능하다.
/pages/api/products/index.js
1 | import dbConnect from "../../../util/mongo"; |