import { defineNuxtModule } from '@nuxt/kit' /** * Nuxt 3.21 SSR 번들이 `#internal/nuxt/paths`를 외부 모듈로 두는데, * 기본 `paths.mjs` 템플릿은 `write: true`가 아니어서 `.nuxt/paths.mjs`가 디스크에 없고 * Node가 `package.json`의 `imports`로 해석할 실제 파일이 없어 오류가 난다. * 동일 템플릿을 빌드 디렉터리에 기록하도록 한다. * @param {unknown} _options - 모듈 옵션(미사용) * @param {import('@nuxt/schema').Nuxt} nuxt - Nuxt 인스턴스 * @returns {void} */ export default defineNuxtModule({ meta: { name: 'nuxt-ssr-paths-write' }, setup(_options, nuxt) { nuxt.hook('app:templates', (app) => { for (const template of app.templates) { if (template.filename === 'paths.mjs') { template.write = true } } }) } })