mirror of
https://github.com/syumai/workers.git
synced 2025-03-10 17:29:11 +00:00
worker-template-go
- A template for starting a Cloudflare Worker project with Go.
- This template uses
workers
package to run an HTTP server.
Notice
- Go (not TinyGo) with many dependencies may exceed the size limit of the Worker (3MB for free plan, 10MB for paid plan). In that case, you can use the TinyGo template instead.
Usage
main.go
includes simple HTTP server implementation. Feel free to edit this code and implement your own HTTP server.
Requirements
- Node.js
- Go 1.24.0 or later
Getting Started
- Create a new worker project using this template.
npm create cloudflare@latest -- --template github.com/syumai/workers/_templates/cloudflare/worker-go
- Initialize a project.
cd my-app
go mod init
go mod tidy
npm start # start running dev server
curl http://localhost:8787/hello # outputs "Hello!"
Development
Commands
npm start # run dev server
# or
go run . # run dev server without Wrangler (Cloudflare-related features are not available)
npm run build # build Go Wasm binary
npm run deploy # deploy worker
Testing dev server
- Just send HTTP request using some tools like curl.
$ curl http://localhost:8787/hello
Hello!
$ curl -X POST -d "test message" http://localhost:8787/echo
test message