A template for kick starting a Cloudflare worker project using workers-rs
.
This template is designed for compiling Rust to WebAssembly and publishing the resulting worker to Cloudflare's edge infrastructure.
To create a my-project
directory using this template, run:
$ npx wrangler generate my-project https://github.com/cloudflare/workers-sdk/templates/experimental/worker-rust
# or
$ yarn wrangler generate my-project https://github.com/cloudflare/workers-sdk/templates/experimental/worker-rust
# or
$ pnpm wrangler generate my-project https://github.com/cloudflare/workers-sdk/templates/experimental/worker-rust
Wrangler is used to develop, deploy, and configure your Worker via CLI.
Further documentation for Wrangler can be found here.
This template starts you off with a src/lib.rs
file, acting as an entrypoint for requests hitting your Worker. Feel free to add more code in this file, or create Rust modules anywhere else for this project to use.
With wrangler
, you can build, test, and deploy your Worker with the following commands:
# run your Worker in an ideal development workflow (with a local server, file watcher & more)
$ npm run dev
# deploy your Worker globally to the Cloudflare network (update your wrangler.toml file for configuration)
$ npm run deploy
Read the latest worker
crate documentation here: https://docs.rs/worker
workers-rs
(the Rust SDK for Cloudflare Workers used in this template) is meant to be executed as compiled WebAssembly, and as such so must all the code you write and depend upon. All crates and modules used in Rust-based Workers projects have to compile to the wasm32-unknown-unknown
triple.
Read more about this on the workers-rs
project README.
If you have any problems with the worker
crate, please open an issue on the upstream project issue tracker on the workers-rs
repository.