O CloudWorker permite que você execute scripts do CloudFlare Worker localmente.
Instale via npm:
NPM Install -g @DollarshaveClub/CloudWorker
const Cloudworker = require('@dollarshaveclub/cloudworker') const simpleScript = `addEventListener('fetch', event => { event.respondWith(new Response('hello', {status: 200})) })` const req = new Cloudworker.Request('https://myfancywebsite.com/someurl') const cw = new Cloudworker(simpleScript) cw.dispatch(req).then((res) => { console.log("Response Status: ", res.status) res.text().then((body) =>{ console.log("Response Body: ", body) }) })
Uso: CloudWorker [Options] <File> Opções: -p, -Port <PORT> Port (Padrão: 3000) -D, -Debug Debug -s, --kv-set [variable.key = value] liga a variável a uma implementação local dos trabalhadores kv e define a chave para o valor (padrão: []) -f, --kv-File [variable = path] Defina o filepath para peristência de valor para a implementação local dos trabalhadores KV (padrão: []) -w, - -wasm [variable = path] liga a variável ao WASM localizado no caminho (padrão: []) -c, --enable-cache Ativa o cache <teta> -R, -Vista assistir o roteiro do trabalhador e reiniciar o trabalhador quando as alterações são detectadas -h, -Informações de uso de saída de help
Exemplo de CloudWorker/Exemplo.js Curl localhost: 3000/
CloudWorker -Debug Exemplo/exemplo.js Curl localhost: 3000/
CloudWorker--debug --kv-set keyvaluestore.key = value --kv-set keyvaluestore.hello = Exemplo do mundo/exemplo-kv.js Curl localhost: 3000/
CloudWorker-Debug --kv-File KeyValuestore = kv.json --kv-set keyvaluestore.key = value --kv-set keyvaluestore.hello = Exemplo do mundo/exemplo-kv.js Curl localhost: 3000/
CloudWorker--debug-wasm wasm = exemplo/simples.wasm exemplo/exemplo wasm-simple.js Curl localhost: 3000/
Fonte WebAssembly
CloudWorker--debug-wasm isqrt = exemplo/isqrt.wasm exemplo/exemplo-wasm-isqrt.js Curl localhost: 3000/? num = 9
Fonte WebAssembly
CloudWorker--debug-wasm resizador_wasm = exemplo/resizador.wasm Exemplo/exemplo-wasm-resizer.js Curl localhost: 3000/wasm-Demo/Dogdrone.png? Largura = 210 # ou aberto no navegador
Fonte WebAssembly
O CloudWorker se esforça para ser o mais semelhante ao tempo de execução do CloudFlare Worker possível. Um script deve se comportar o mesmo quando executado pelo CloudWorker e quando executado nos trabalhadores do CloudFlare. Por favor, arquive um problema para cenários nos quais o CloudWorker se comporta de maneira diferente. À medida que as diferenças de comportamento são encontradas, este pacote será atualizado para corresponder ao tempo de execução do CloudFlare Worker. Isso pode resultar em quebra se os scripts dependiam dessas diferenças de comportamento.
Para lançamentos beta:
Crie um novo ramo de lançamento chamado v[version]-beta
. por exemplo, v0.0.10-beta
Execute npm version [version]-beta.[beta number]
. Por exemplo, npm version 0.0.10-beta.1
Empurre o ramo para a origem.
Execute npm publish --tag beta
.
Crie uma nova versão no GitHub usando a tag criada pela npm version
, escreva notas de versão relevantes e verifique se "este é um pré-lançamento" está verificado.
As correções e as alterações de bugs devem ser feitas nas ramificações de recursos, fundidas no mestre e depois mescladas na filial de liberação.
As versões beta subsequentes da mesma versão beta devem ser feitas com a mesma filial de liberação.
Para lançamentos de produção:
Merja Ramo de liberação (se houver) em mestre.
Execute npm version [version]
. Por exemplo, npm version 0.0.10
Empurrar o mestre para a origem.
Execute npm publish
.
Crie uma nova versão no GitHub usando a tag criada por npm version
e copie as notas de versão da beta.
Mit