← Cloudflare Workers / workers / wrangler
Zastaralé funkce
Prohlédněte si rozdíly mezi verzemi Wrangler, zejména zastaralé funkce a nekompatibilní změny.
Wrangler v4
Workers Sites
Použití Workers Sites je zastaralá. Místo toho doporučujeme přejít na Workers Static Assets. Podpora používání Workers Sites s Wrangler bude v některé z budoucích verzí Wrangler odstraněna.
Service environments
Použití Service Environments ↗, povoleno prostřednictvím legacy_env vlastnost v konfiguraci Wrangler, je zastaralá. Místo toho doporučujeme přejít na Prostředí Wrangleru. Podpora používání Service Environments s Wrangler bude v některé z budoucích verzí Wrangler odstraněna.
Wrangler v3
Zastaralé příkazy
Následující příkazy jsou od verze Wrangler v3 zastaralé. V budoucí verzi Wrangleru budou zcela odstraněny.
generate
wrangler generate příkaz je zastaralý, ale ve verzi v3 stále funguje. wrangler generate bude ve verzi v4 zcela odstraněn.
Použijte npm create cloudflare@latest pro nové projekty Workers a Pages.
publish
wrangler publish příkaz je zastaralý, ale ve verzi v3 stále funguje. wrangler publish bude ve verzi v4 zcela odstraněn.
Použijte npx wrangler deploy pro nasazení Workerů.
pages publish
wrangler pages publish příkaz je zastaralý, ale ve verzi v3 stále funguje. wrangler pages publish bude ve verzi v4 zcela odstraněn.
Použijte wrangler pages deploy pro nasazení Pages.
version
Místo toho použijte wrangler --version pro kontrolu aktuální verze Wrangleru.
Zastaralé možnosti
--experimental-local
wrangler dev je ve v3 ve výchozím nastavení lokální, takže tato možnost už není potřeba.
--local
wrangler dev je ve v3 ve výchozím nastavení lokální, takže tato možnost už není potřeba.
--persist
wrangler dev ve výchozím nastavení data automaticky ukládá, takže tato možnost už není potřeba.
-- <command>, --proxy, a --script-path v wrangler pages dev
Tyto možnosti brání wrangler pages dev od přesné emulace chování produkčního prostředí při obsluze statických assetů, a proto byly označeny jako zastaralé. Místo spoléhání na to, že Wrangler bude proxovat na nějaký jiný upstream dev server, můžete dosáhnout přesnějšího chování tak, že statické assety sestavíte do adresáře a nasměrujete Wrangler na tento adresář pomocí wrangler pages dev <directory>.
--legacy-assets a legacy_assets vlastnost konfiguračního souboru
Doporučujeme, abyste migrace na Workers assets ↗
--node-compat a node_compat vlastnost konfiguračního souboru
Místo toho použijte nodejs_compat příznak kompatibility ↗. Zahrnuje to funkcionalitu ze zastaralého node_compat polyfills a nativně implementovaná Node.js API.
usage_model vlastnost konfiguračního souboru
Toto již nemá žádný účinek po zavádění Workers Standard Pricing ↗.
Wrangler v2
Wrangler v2 zavádí nová pole pro konfiguraci a nové funkce pro vývoj a nasazení Workeru a zároveň některá nadbytečná pole označuje za zastaralá.
wrangler.tomljiž není povinné.devapublishpřijímat argumenty CLI.taillze spustit pod libovolným názvem Workeru.initvytvoří základní strukturu projektu.- Vazby JSON pro
vars. - Lokální režim pro
wrangler dev. - Systém modulů (pro Workers ve formátu modulů i service worker).
- DevTools.
- Podpora TypeScript.
- Sdílení vývojového prostředí přes internet.
- Širší kompatibilita s platformami.
- Klávesové zkratky pro vývojáře.
- Lepší validace konfigurace.
Následující video popisuje některé z hlavních změn ve Wrangleru v2 a ukazuje, jak vám může Wrangler v2 pomoci zrychlit práci.
Běžná ukončení podpory
Běžná pole, která už nejsou povinná, najdete v následujícím seznamu.
typejiž není vyžadováno. Wrangler automaticky odvodí správný typ projektu.zone_idjiž není vyžadováno. Lze jej odvodit přímo z cest.build.upload.formatse již nepoužívá. Formát se nyní automaticky odvozuje z kódu.build.upload.mainabuild.upload.diruž nejsou potřeba. Použijte klíč na nejvyšší úrovnimainpole, které nyní slouží jako vstupní bod Workeru.site.entry-pointjiž není vyžadováno. Vstupní bod by měl být zadán prostřednictvímmain.webpack_configawebpackvlastnosti již nejsou podporovány. Viz Migrace projektů s webpackem z Wrangleru verze 1. Zde jsou příkazy Wrangler v1, které už nejsou podporovány:wrangler preview- Použijtewrangler devpříkaz, kterým worker spustíte v lokálním prostředí.wrangler generate- Pokud chcete použít startovací šablonu, naklonujte její repozitář GitHub a inicializujte ji ručně.wrangler route- Routes jsou definovány v Konfigurační soubor Wrangler.wrangler report- Pokud najdete chybu, nahlaste ji na Problémy s Wranglerem ↗.wrangler build- Pokud chcete získat přístup k výstupu z bundlování vašeho Workeru, použijtewrangler deploy --outdir=path/to/output.
Nová pole
Jedná se o nová pole, která lze přidat do vašeho Konfigurační soubor Wrangler.
-
main:string, volitelnémainpole se používá k určení vstupního bodu Workeru. Může být v zavedeném formátu service worker nebo v novějším, preferovaném formátu modulů. Vstupní bod je nyní vyžadován explicitně a lze ho nakonfigurovat buď pomocímainpole, nebo předat přímo na příkazovém řádku, napříkladwrangler dev index.js. Toto pole nahrazuje zastaralébuild.upload.mainpole (které platilo jen pro Workery ve formátu modulů). -
rules:array, volitelnérulespole je pole mapování mezi typy modulů a vzory souborů. Říká Wrangleru, aby konkrétní soubory interpretoval jinak než jako JavaScript. To se hodí například pro čtení textového obsahu jako textových souborů nebo zkompilovaného WASM jako připraveného k instanciaci a spuštění. Tato pravidla lze použít jak u zavedeného formátu service worker, tak u novějšího formátu modulů. Toto pole nahrazuje staršíbuild.upload.rulespole (které platilo jen pro Workery ve formátu modulů).
Nepovinná pole
Několik konfiguračních polí, která byla dříve povinná, je nyní v určitých situacích volitelných. Mohou být buď odvozena, nebo přidána jako optimalizace. Od Wrangleru v2 už není povinné žádné pole a konfiguraci můžete přidávat postupně podle potřeby.
-
name:stringnamekonfigurační pole už není povinné prowrangler dev, nebo kteroukoli zwrangler kv:*příkazy. Kromě toho jej lze předat i jako argument příkazové řádky jako--name <name>. I nadále je to vyžadováno prowrangler deploy. -
account_id:stringaccount_idpole není u žádného z příkazů povinné. Příslušné příkazy zkontrolují, zda jste přihlášeni, a pokud ne, vyzvou vás k přihlášení. Po přihlášení se použije vaše ID účtu a znovu se nezeptá, dokud nevyprší vaše přihlašovací relace. Pokud máte více ID účtů, zobrazí se vám seznam účtů, ze kterého můžete vybrat.Stále můžete nakonfigurovat
account_idve vašem souboru Wrangler, nebo jako proměnná prostředíCLOUDFLARE_ACCOUNT_ID. Díky tomu je spuštění rychlejší a přeskočí se výběr ze seznamu, pokud máte více ID.CLOUDFLARE_API_TOKENproměnná prostředí je užitečná také v situacích, kdy se nelze přihlásit interaktivně. Další informace najdete na Spouštění v CI/CD. -
workers_devboolean, výchozí:truepokud nejsou přítomny žádné routesworkers_devpole se používá k označení, že se má Worker publikovat do*.workers.devsubdoména. Například pro Worker s názvemmy-workera dříve nakonfigurovaný*.workers.devsubdoménausername, Worker se publikuje domy-worker.username.workers.dev.com. Toto pole není povinné a jeho výchozí hodnota jetruekdyžrouteneboroutesnejsou nakonfigurovány. Pokud jsou trasy zadány, výchozí hodnotou jefalse. Pokud ho nechcete publikovat ani do*.workers.devsubdoménu ani žádné trasy, nastavteworkers_devnafalse. Toto se hodí, když publikujete Worker jako samostatnou službu, ke které lze přistupovat pouze z jiného Workeru pomocí (services).
Zastaralá pole (kompatibilní)
Několik konfiguračních polí je zastaralých, ale jejich přítomnost zatím nepředstavuje závažnou změnu. Doporučujeme si přečíst varovné zprávy a postupovat podle pokynů pro přechod na novou konfiguraci. V budoucí verzi budou odstraněna a přestanou fungovat.
-
zone_id:string, zastaralézone_idpole je zastaralé a v budoucí verzi bude odstraněno. Nyní se odvozuje zroute/routes, a volitelně zdev.hostpři použitíwrangler dev. Díky tomu je také jednodušší nasadit jeden Worker na více domén. -
build.upload:object, zastaralébuild.uploadpole je zastaralé a v budoucí verzi bude odstraněno. Jeho použití vyvolá varování s návrhy, jak konfigurační soubor přepsat, aby varování zmizela.build.upload.main/build.upload.dirse nahrazujímainpole a platí jak pro formát service worker, tak pro formát modules u Workerů.build.upload.rulesje nahrazenorulespole a platí pro Workery ve formátu service worker i ve formátu modulů.build.upload.formatse již nezadává a automaticky jej odvozujewrangler.
Zastaralá pole (nekompatibilní)
Několik konfiguračních polí je zastaralých a už nebudou fungovat podle očekávání. Doporučujeme si přečíst chybové zprávy a postupovat podle pokynů pro přechod na novou konfiguraci.
-
site.entry-point:string, zastaralésite.entry-pointkonfigurace sloužila k určení vstupního bodu pro Workery s[site]konfigurace. Ta byla nahrazena vlastností nejvyšší úrovněmain. -
type:rust|javascript|webpack, zastaralétypekonfigurace sloužila k určení typu Workeru. Od té doby se stala nadbytečnou a nyní se odvozuje z použití. Pokud jste používalitype = "webpack"(a volitelnýwebpack_configpole), měli byste si přečíst průvodce migrací webpacku abyste upravili svůj projekt a místo toho použili vlastní sestavení.
Zastaralé příkazy
Následující příkazy jsou od verze Wrangler v2 zastaralé.
build
wrangler build příkaz už není možné použít k sestavení Workeru.
Stejné funkce lze dosáhnout pomocí wrangler publish --dry-run --outdir=path/to/build.
config
wrangler config příkaz už není možné použít k ověření pomocí API tokenu.
Použijte wrangler login / wrangler logout ke správě OAuth autentizace, nebo poskytněte API token prostřednictvím CLOUDFLARE_API_TOKEN proměnná prostředí.
preview
wrangler preview příkaz už není možné použít k vytvoření dočasné náhledové instance Workeru.
Zkuste použít wrangler dev k vyzkoušení workeru během vývoje.
subdoména
wrangler subdomain příkaz už není možné použít k vytvoření workers.dev subdoména.
Vytvořte workers.dev subdoména v Workers & Pages > vyberte svůj Worker > Your subdomain > Změna.
trasa
wrangler route příkaz už není možné použít k nastavení trasy Workeru.
Trasy jsou zadány v Konfigurační soubor Wrangler.
Další zastaralé chování
-
Trasy definované v dashboardu Cloudflare se nepřidají vedle tras definovaných ve Wrangler. Trasy definované ve Wrangler jsou
routeneboroutesklíč ve vašemwrangler.toml. Pokud jsou definovány obě možnosti, použijí se pouze trasy definované vwrangler.tomlbude platné. Pokud chcete trasy spravovat pouze přes dashboard Cloudflare, odstraňte veškeréroutearoutesklíče z a přidejteworkers_dev = falsedo souboru Wrangler. -
Wrangler už nebude používat
index.jsv adresáři, kdewrangler devje volána jako vstupní bod Workeru. Použijtemainkonfigurační pole, nebo ho výslovně předejte jako argument příkazové řádky, například:wrangler dev index.js. -
Wrangler už nebude předpokládat, že holé specifikátory (bare specifiers) jsou názvy souborů, pokud nejsou zapsány jako cesta. Například ve složce podobné této:
project ├── index.js └── some-dependency.jskde obsah
index.jsje:import SomeDependency from "some-dependency.js"; addEventListener("fetch", (event) => { // ... });Wrangler v1 by přeložil
import SomeDependency from "some-dependency.js";do souborusome-dependency.js. Toto bude fungovat i ve Wrangleru v2, ale zaznamená se varování o zastarání. V budoucnu už to skončí chybou. Místo toho byste měli import přepsat tak, aby jasně určoval relativní cestu, například takto:- import SomeDependency from "some-dependency.js"; + import SomeDependency from "./some-dependency.js";
Srovnávací tabulky Wrangleru v1 a v2
Příkazy
| Příkaz | v1 | v2 | Poznámky |
|---|---|---|---|
publish |
✅ | ✅ | |
dev |
✅ | ✅ | |
preview |
✅ | ❌ | Odebráno, použijte dev místo toho. |
init |
✅ | ✅ | |
generate |
✅ | ❌ | Odebráno, použijte git clone místo toho. |
build |
✅ | ❌ | Odebráno, místo toho spusťte vlastní sestavovací skript. |
secret |
✅ | ✅ | |
route |
✅ | ❌ | Odebráno, použijte publish místo toho. |
tail |
✅ | ✅ | |
kv |
✅ | ✅ | |
r2 |
🚧 | ✅ | Zavedeno ve Wrangler v1.19.8. |
pages |
❌ | ✅ | |
config |
✅ | ❓ | |
login |
✅ | ✅ | |
logout |
✅ | ✅ | |
whoami |
✅ | ✅ | |
subdomain |
✅ | ❓ | |
report |
✅ | ❌ | Odebráno, chybové zprávy se nyní vytvářejí interaktivně. |
Konfigurace
| Vlastnost | v1 | v2 | Poznámky |
|---|---|---|---|
type = "webpack" |
✅ | ❌ | Odebráno, viz tento průvodce k migraci. |
type = "rust" |
✅ | ❌ | Odebráno, použijte workers-rs ↗ místo toho. |
type = "javascript" |
✅ | 🚧 | Již není vyžadováno, lze vynechat. |
Funkce
| Funkce | v1 | v2 | Poznámky |
|---|---|---|---|
| TypeScript | ❌ | ✅ | Nástroji wrangler můžete zadat soubor TypeScript a on jej automaticky přeloží do JavaScriptu pomocí esbuild ↗ pod pokličkou. |
| Lokální režim | ❌ | ✅ | wrangler dev --local spustí váš Worker na lokálním počítači místo na naší síti. Toto je poháněno Miniflare ↗. |