fix(nuxt): Node용 #internal/nuxt/paths 해석 및 paths.mjs 디스크 기록
- app:templates에서 paths.mjs에 write: true를 부여하는 로컬 모듈 추가 - 루트 package.json imports로 .nuxt/paths.mjs 매핑 - nuxt ^3.21.2로 명시, 문서(v0.0.59) 반영 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
25
modules/nuxt-ssr-paths-write.mjs
Normal file
25
modules/nuxt-ssr-paths-write.mjs
Normal file
@@ -0,0 +1,25 @@
|
||||
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
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user