// 파일명 - nuxt.config.ts
import tsconfigPaths from 'vite-tsconfig-paths'
import { nodePolyfills } from '@bangjelkoski/vite-plugin-node-polyfills'
export default defineNuxtConfig({
ssr: false, // 애플리케이션을 사전 렌더링할지 여부
modules: [
// nuxtjs 모듈
'@pinia/nuxt',
'@vueuse/nuxt',
],
typescript: {
typeCheck: 'build', // 빌드 타입에서만 타입스크립트 검사를 수행하도록 build를 권장합니다
},
imports: {
// 스토어 정의의 자동 가져오기 (pinia를 사용하는 경우)
dirs: ['store/**'],
},
pinia: {
// pinia 정의 가져오기
autoImports: ['defineStore'],
},
plugins: [
{
// 우리가 만든 buffer 플러그인 가져오기
src: './plugins/buffer.client.ts',
ssr: false,
},
],
// 서버가 필요하지 않으므로 클라이언트 측에서만 사이트맵을 생성합니다
// 참고: Vite + Nuxt3의 사이트맵에 문제가 있습니다
// 일반적으로 사이트맵을 생성하는 데 너무 많은 시간/메모리가 걸리고
// 빌드 프로세스가 실패할 수 있습니다
// Github Actions/Netlify/Vercel 등에서 다른 전략을 사용해야 합니다
// 로컬에서 생성하고 busgnag과 같은 서비스로 푸시하는 것처럼
sourcemap: {
server: false,
client: true,
},
// Vite 관련 구성
vite: {
plugins: [
// 노드 + 암호화 폴리필 + vite TS 경로 해석 설정
tsconfigPaths(),
nodePolyfills({ protocolImports: false }),
],
build: {
sourcemap: false, // 생성하지 않음
// 기본 rollup 옵션
rollupOptions: {
cache: false,
output: {
manualChunks: (id: string) => {
//
},
},
},
},
// @bangjelkoski/vite-plugin-node-polyfills 플러그인에 대한
// 일부 Vite 관련 문제에 필요
optimizeDeps: {
exclude: ['fsevents'],
},
},
})