🤠 wrangler
✨ CHECK OUT THE TUTORIAL ✨
wrangler is a CLI tool designed for folks who are interested in using Rust-generated WebAssembly on
Cloudflare Workers. This tool gives you the follow commands:
- 👯
generate: scaffold ahello-wasm-workerproject, including boilerplate for a Rust library and a Cloudflare Worker - 🦀⚙️
build: build your project usingwasm-pack - 🔬
preview: preview your project using the cloudflareworkers.com API - ☁️ 🆙
publish: publish your Worker and WebAssembly to Cloudflare
To set up wrangler to work with your Cloudflare account, use the following commands:
-
config: an interactive command that asks you to pass youremailandapikey. Alternatively, you can use the flags--emailand--api-keyto the command to skip the interactive part. -
🕵️♀️
whoami: run this command to confirm that your configuration is appropriately set up. When successful, this command will print out your account information, including the type of plan you are currently on.⚠️ NEVER PUBLISH CREDENTIALS TO VERSION CONTROL! ⚠️
⚓ Installation
-
Install
cargo:Wrangler is installed through Cargo, a Rust package manager. Rustup, a tool for installing Rust, will also install Cargo. On Linux and macOS systems,
rustupcan be installed as follows:curl https://sh.rustup.rs -sSf | shAdditional installation methods are available here.
-
Install
wrangler:cargo install wrangler -
Troubleshooting OpenSSL errors
If you are on a Mac, you might encounter an OpenSSL error when attempting to generate a project. You can resolve that issue by installing OpenSSL v1.1 through Homebrew (need to install Homebrew? Instructions available here).
$ brew install openssl@1.1
⚡ Quick Start
-
Generate a new project:
wrangler generate -
Move into the new project directory:
cd wasm-worker -
Build your project:
wrangler build -
Preview your project:
wrangler preview -
(optional) Configure with your Cloudflare account:
wrangler config <email> <api_key>Configuring your account is required to use the
publishstep, which will push your Worker live to the Cloudflare edge. If you don't configure, you can still usewranglerto generate, build, and preview a Worker. -
Check your configuration:
wrangler whoami -
Publish your project:
wrangler publish <zone_id>... where
<zone_id>is replaced with theidfor the Cloudflare zone you are publishing to!