CloudWorker позволяет локально запускать сценарии работников CloudFlare.
Установите через 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) }) })
Использование: CloudWorker [Параметры] <File> Параметры: -p, -port <port> порт (по умолчанию: 3000) -Д, -отладка дебаг -s, -kv-set [variable.key = value] привязывает переменную с локальной реализацией работников KV и устанавливает ключ к значению (по умолчанию: []) -f, -kv-file [variable = path] Установите FilePath для прочтения стоимости для локальной реализации работников KV (по умолчанию: []) -w, - -wasm [variable = path] связывает переменную с wasm, расположенную на пути (по умолчанию: []) -c,-eNable-cache -r, -наблюдать за сценарием работника и перезагрузите работника при обнаружении изменений -H, -HELP
Пример CloudWorker/example.js Curl Localhost: 3000/
Cloudworker -Debug example/example.js Curl Localhost: 3000/
CloudWorker-debug-KV-set keyValuestore.key = value --KV-set keyValuestor Curl Localhost: 3000/
CloudWorker-debug-KV-file keyvaluestore = kv.json-KV-set keyvaluestore.key = value-kv-set keyvaluestore.hello = world example/example-kv.js Curl Localhost: 3000/
CloudWorker-debug-wasm = example/simple.wasm example/example-wasm-simple.js Curl Localhost: 3000/
Webassembly Source
CloudWorker-debug-wasm isqrt = example/isqrt.wasm example/example-vasm-isqrt.js Curl Localhost: 3000/? Num = 9
Webassembly Source
CloudWorker-debug-wasm resizer_wasm = Пример/Resizer.wasm Пример/Пример-vasm-resizer.js Curl Localhost: 3000/wasm-demo/dogdrone.png? ширина = 210 # или открыт в браузере
Webassembly Source
CloudWorker стремится быть как можно более похожим на время выполнения работника CloudFlare. Сценарий должен вести себя так же при выполнении Cloudworker и при запуске в работниках CloudFlare. Пожалуйста, подайте проблему для сценариев, в которых Cloudworker ведет себя по -разному. Поскольку различия в поведении обнаружены, этот пакет будет обновлен в соответствии с временем выполнения работника CloudFlare. Это может привести к поломке, если сценарии зависят от этих различий в поведении.
Для бета -выпусков:
Создайте новую филиал релиза под названием v[version]-beta
. Например, v0.0.10-beta
Запустите npm version [version]-beta.[beta number]
. Например, npm version 0.0.10-beta.1
Толчок ветви к происхождению.
Запустить npm publish --tag beta
.
Создайте новый релиз в GitHub, используя тег, созданный npm version
, напишите соответствующие заметки о выпуске, и убедитесь, что «это предварительный релиз».
Исправления и изменения ошибки должны быть внесены в филиалы функций, объединены в Master, а затем объединены в отделение выпуска.
Последующие бета -выпуски той же бета -версии должны быть сделаны из той же ветви выпуска.
Для производственных выпусков:
Объединить ветвь (если кто -то существует) в мастер.
Запустите npm version [version]
. Например, npm version 0.0.10
Push Master к происхождению.
Запустить npm publish
.
Создайте новый релиз в GitHub, используя тег, созданный npm version
, и копию заметок выпуска от бета.
Грань