본문 바로가기
DevOps 관련/Docker

[Docker] Sveltekit 빌드 시 build폴더 생성 안될 때 (Dockerfile 오류)

by minhyeok.lee 2023. 9. 11.
반응형

svelteKit에서 dockerfile을 사용해 docker 파일을 만들려고할 때 생기는 이슈


일단 svelte.config.js 파일에서 별도로 빌드 경로를 지정해 주지 않는이상 .svelte-kit 에만 빌드 파일이 만들어진다.
dockerfile에서 sveltekit예제를 보면 node build/index.js 명령어를 치는데 build폴더가 존재하지 않아 명령어가 실행되지 않는다.


svelte에서는 svelte.config.js 파일의 어댑터를 노드로 설정을 해야한다
그래 어댑터가 오토로 되어 있어서 자동으로 build파일을 생성해준다.

하지만 svelteKit 프로젝트를 node서버에 올리기 위해  build 폴더가 필요하기 때문에 아래 명령어를 실행해준다.

npm i -D @sveltejs/adapter-node

 

이 명령어로 노드어댑터 설치 해주고 svelte.config.js 파일 상단 import를 아래처럼 바꿔준다.

// 아래 auto를 제거한다.
// import adapter from '@sveltejs/adapter-auto';
// 아래 node를 추가한다.
import adapter from '@sveltejs/adapter-node';

 위처럼 바꾸면 build 명령어를 실행시키면 bulid 폴더가 생기면서 빌드 파일이 생성되고 index.js 파일도 빌드경로에 바로 생성이 되는것을 확인 할 수 있다.

 

따라서 Dockerfile의 node build/index.js도 정상적으로 실행된다.

 

반응형

댓글