서론
Cloudflare의 Workers 프로젝트를 로컬에서 구동해보고 확인하는 방법을 알아보겠습니다.
nvm 설치 (nodejs & npm 설치)
cloudflare의 workers를 사용하려면 wrangler라는 clareflare의 cli를 설치해야하는데 이는 nodejs, npm을 필요로 합니다. cloudflare에서는 nvm을 통한 nodejs설치를 안내하고 있습니다. nodejs 및 npm이 이미 설치되어 있다면 넘어가셔도 됩니다. nvm에 대한 자세한 내용은 https://github.com/nvm-sh/nvm 에서 보실 수 있습니다.
nvm 다운로드 및 설치
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
nvm 설치 결과 확인
=> Appending nvm source string to /home/user/.bashrc
=> Appending bash_completion source string to /home/user/.bashrc
=> Close and reopen your terminal to start using nvm or run the following to use it now:
# 아래 부분을 ~/.bashrc 또는 ~/.profile 에 붙여넣고
# source ~/.bashrc 또는 source ~/.profile 하여 적용.
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
nvm 으로 node 설치
# 최신버전 설치
nvm install node
# 특정버전 설치
# nvm install 14.7.0
# 버전확인
node -v
npm -v
Workers 프로젝트 초기화
cloudflare는 npm으로 Workers 프로젝트를 자동으로 초기화 해주는 명령어를 제공합니다. 아래와 같이 입력하여 프로젝트를 초기화하면 위에서 말씀드린 wrangler도 자동 설치되어 따로 설치할 필요가 없습니다. your-app-name 부분을 원하는 이름으로 변경해주세요. --부분의 띄어쓰기에 유의해서 입력합니다.
npm create cloudflare -- your-app-name
여기서는 r2-image-worker로 프로젝트명을 입력 했습니다.
npm create cloudflare -- r2-image-worker
그럼 다음과 같이 몇가지를 묻는데

Workers만 사용하기 위해 Hello World Worker template 를 선택합니다. Durable Objects는 Cloudflare Workers 와 연동되는 서비스 입니다. 궁금하신분은 https://www.cloudflare.com/ko-kr/developer-platform/durable-objects 에서 확인바랍니다.

Cloudflare Workers 는 2024년 10월 5일 현재 4가지 언어를 지원합니다. 원하는 언어를 선택합니다. Rust도 지원하는 것으로 알고 있는데 npm create cloudflare -- your-app-name 에서는 아직 지원하지 않는 것 같습니다.

버전관리로 git을 사용할꺼냐고 묻는데 Yes를 선택하여 초기화합니다.

프로젝트 생성과 함께 바로 cloudflare 로 배포를 할꺼냐고 묻는데 여기서는 No를 선택해서 일단 로컬에서 확인 후 배포하기로 합니다.

Workers 프로젝트 개발모드 시작
설치가 완료되면 터미널에 아래와 같은 결과가 나오는데 그대로 입력해줍니다.

cd your-app-name
npm run start
# or npm run dev
키보드의 b키를 누르거나 브라우저에서 localhost:8787를 입력합니다.

Workers 프로젝트 브라우저에서 결과 확인
처음 프로젝트를 그대로 실행하면 다음과 같은 결과를 브라우저에서 확인할 수 있습니다.

내용을 조금 바꾸어 json으로 응답하게 코드를 약간 수정합니다.

내용을 바꾸고 저장하면 자동으로 reload 되어 편리합니다.

결과는 다음과 같습니다.

(부록) wrangler 설치
위의 npm create cloudflare -- your-app-name으로 Workers 프로젝트를 초기화하면 자동으로 wrangler가 설치됩니다. 혹시 wrangler 설치관련 에러가 나면 아래와 같이 프로젝트 폴더 안에서 다음과 같은 명령어로 설치해주시기 바랍니다. 관련 내용은 https://developers.cloudflare.com/workers/wrangler/install-and-update 에 있습니다.
cd your-app-name
npm install wrangler --save-dev
or # yarn 사용
yarn add --dev wrangler
이후 npm run dev 또는 npm run start 를 하면 됩니다.
결론
Cloudflare 의 Workers 프로젝트를 로컬에서 구동해봤습니다. 이를 위해서 nodejs, npm이 필요하고 wrangler 라는 cloudflare에서 제공하는 cli도 설치해야 합니다. Cloudflare에서는 wrangler버전관리 문제로 global 설치를 권하지 않습니다. Workers 프로젝트 초기화를 위해 npm create cloudflare -- your-app-name로 초기화하는 방법을 제공하는데 이 명령으로 초기화하면 wrangler가 local 그리고 --save-dev로 자동 설치됩니다.
다음 포스팅에서는 cloudflare에 deploy하는 방법을 알아보겠습니다.