ReferenceError 수정 방법: SvelteKit/Vite에서 전역이 정의되지 않음 오류
TL:DR
// svelte.config.js
const config = {
preprocess: preprocess(),
kit: {
adapter: adapter(),
target: '#svelte',
// add this 👇
vite: {
define: {
global: {}
}
}
}
};
나는 이것을 알아내려고 몇 시간을 보냈고 이 오류 메시지는 Angular 문제와 매우 유사하기 때문에 웹에서 정확한 정보를 찾기가 정말 어려웠습니다. 그러나 Angular 솔루션은 SvelteKit에는 쓸모가 없으므로 이 게시물을 함께 작성해야 한다고 생각했습니다.
SvelteKit은 currently in beta이므로 미래의 어느 시점에서 이 문제를 해결할 수 있을지 누가 알겠습니까? 하지만 어쨌든...
SvelteKit은 빌드 도구로 Vite을 사용합니다. Vite는 매우 빠른 esbuild을 사용하여 종속성을 미리 번들로 제공하기 때문에 좋습니다. 그러나 기본적으로 Vite는 NodeJS 변수shims를 포함하지 않으므로 사용자가 추가해야 합니다.
vite.config.[js/ts]
파일을 만들고 SvelteKit 프로젝트에 추가하고 전역 권한을 정의하면 됩니다.// vite.config.ts
export default defineConfig({
define: {
"global": {},
},
});
별로...
이것은 일반적으로 괜찮지만 SvelteKit은 Vite 구성 파일로 공을 재생하지 않고 대신 변경 사항을
svelte.config.file
에 넣도록 요청합니다. 말이 되는 것 같아요🤷?svelte 구성이 vite 구성과 다르게 보인다는 사실을 제외하고는 기본 구성 개체에 복사하여 붙여넣는 것만큼 간단하지 않습니다. 오류의 링크를 따라가면 여기로 이동합니다 -> https://kit.svelte.dev/docs#configuration-vite 그다지 유용하지 않습니다. 그러나 약간의 인터넷 검색 후에 다른 주제이지만 this much more helpful example을 찾았지만 충분했습니다.
그리고... 그것이 아래 작업 솔루션으로 이어지는 것입니다.
// svelte.config.js
const config = {
preprocess: preprocess(),
kit: {
adapter: adapter(),
target: '#svelte',
// add this 👇
vite: {
define: {
global: {}
}
}
}
};
나는 또한 내가 Svelte를 처음 접한다는 것을 언급해야 하므로 누군가가 댓글에서 나를 불러 훨씬 더 우아한 솔루션을 추가할 가능성이 큽니다 😜
출처
https://github.com/vitejs/vite/issues/2778
https://github.com/vitejs/vite/issues/728
https://github.com/bevacqua/dragula/issues/602
https://kit.svelte.dev/faq#aliases
Reference
이 문제에 관하여(ReferenceError 수정 방법: SvelteKit/Vite에서 전역이 정의되지 않음 오류), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/richardbray/how-to-fix-the-referenceerror-global-is-not-defined-error-in-sveltekitvite-2i49텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)