CloudWorker le permite ejecutar scripts de Worker de CloudFlare localmente.
Instalar a través de 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 [Opciones] <Sche> Opciones: -p, --port <port> puerto (predeterminado: 3000) -d, -debug -debug -s, --kv-set [variable.key = valor] se une a una implementación local de trabajadores kv y establece la clave al valor (predeterminado: []) -f, --kv-file [variable = ruta] Establezca el filepath para la peristencia del valor para la implementación local de trabajadores KV (predeterminado: []) -W, --wasm [variable = ruta] se une a la variable a WASM ubicada en la ruta (predeterminada: []) -c, --enable-cache habilita el caché <beta> -r, -observar el guión del trabajador y reiniciar al trabajador cuando se detecten cambios -H, -Información de uso de salida de la salida
CloudWorker Ejemplo/Ejemplo.js Curl Localhost: 3000/
CloudWorker -DeBug Ejemplo/Ejemplo.js Curl Localhost: 3000/
CloudWorker--DeBug --KV-SET KeyValuStore.Key = Value --KV-SET KeyValuestore.hello = World Ejemplo/Ejemplo-KV.JS Curl Localhost: 3000/
CloudWorker--DeBug --KV-File KeyValuestore = KV.JSON --KV-SET KeyValuestore.Key = Value --KV-SET KeyValuestore.hello = World Ejemplo/Ejemplo-KV.JS Curl Localhost: 3000/
CloudWorker--debug-wasm wasm = ejemplo/simple.wasm Ejemplo/Ejemplo-wasm-simple.js Curl Localhost: 3000/
Fuente de WebAssembly
CloudWorker--debug --wasm isqrt = ejemplo/isqrt.wasm Ejemplo/ejemplo-wasm-isqrt.js Curl Localhost: 3000/? Num = 9
Fuente de WebAssembly
CloudWorker--debug --wasm resoner_wasm = ejemplo/resizer.wasm Ejemplo/Ejemplo-Wasm-Resizer.js curl localhost: 3000/wasm-demo/dogdrone.png? width = 210 # o abierto en el navegador
Fuente de WebAssembly
CloudWorker se esfuerza por ser lo más similar posible al tiempo de ejecución de Cloudflare Worker. Un script debe comportarse de la misma manera cuando CloudWorker lo ejecuta y cuando se ejecuta dentro de los trabajadores de Cloudflare. Por favor presente un problema para los escenarios en los que CloudWorker se comporta de manera diferente. A medida que se encuentran las diferencias de comportamiento, este paquete se actualizará para que coincida con el tiempo de ejecución de CloudFlare Worker. Esto puede dar lugar a la rotura si los scripts dependen de esas diferencias de comportamiento.
Para lanzamientos beta:
Cree una nueva rama de versión llamada v[version]-beta
. por ejemplo, v0.0.10-beta
Ejecute npm version [version]-beta.[beta number]
. por ejemplo, npm version 0.0.10-beta.1
Empujar rama al origen.
Ejecutar npm publish --tag beta
.
Cree una nueva versión en GitHub usando la etiqueta creada por npm version
, escriba notas de versión relevantes y asegúrese de que se verifique "Este es un prelasegudo".
Las correcciones de errores y los cambios deben realizarse en las ramas de características, fusionarse en el maestro y luego fusionarse en la rama de lanzamiento.
Las versiones beta posteriores de la misma versión beta deben hacerse desde la misma rama de lanzamiento.
Para lanzamientos de producción:
Fusionar la rama de lanzamiento (si existe) en el maestro.
Ejecutar npm version [version]
. por ejemplo, npm version 0.0.10
Empuje el maestro al origen.
Ejecutar npm publish
.
Cree una nueva versión en GitHub usando la etiqueta creada por npm version
y copie las notas de versión de Beta.
MIT