diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2021-08-19 21:04:46 +0300 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2021-08-19 21:04:46 +0300 |
commit | d196c28e352daa9ab68739a778522153b9b3d165 (patch) | |
tree | e5600127d72d0e936a5456c9f6c7cedcafc180a3 | |
parent | 32273ee19af2db0841b5e28ca887bf94ada832ed (diff) |
-rw-r--r-- | assets/js/main.js | 12 | ||||
-rw-r--r-- | assets/js/myworker.js | 7 | ||||
-rw-r--r-- | layouts/index.html | 4 |
3 files changed, 22 insertions, 1 deletions
diff --git a/assets/js/main.js b/assets/js/main.js index f2e1809..140d64f 100644 --- a/assets/js/main.js +++ b/assets/js/main.js @@ -12,6 +12,18 @@ import { hello4 } from './lib'; // From the Hugo template. import * as params from '@params'; +var worker = new Worker(params.myworker); + +worker.addEventListener( + 'message', + function(e) { + console.log('Worker said: ', e.data); + }, + false +); + +worker.postMessage('Hello Worker'); + // https://github.com/gohugoio/hugo/issues/7948 // TODO(bep) make this work in Hugo integration tests import { helloNodeModules } from 'mynodemod'; diff --git a/assets/js/myworker.js b/assets/js/myworker.js new file mode 100644 index 0000000..c1d7906 --- /dev/null +++ b/assets/js/myworker.js @@ -0,0 +1,7 @@ +self.addEventListener( + 'message', + function(e) { + self.postMessage('Echo From Worker: ' + e.data); + }, + false +); diff --git a/layouts/index.html b/layouts/index.html index e70dd7f..1c02649 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -10,8 +10,10 @@ <script src="https://unpkg.com/react@17/umd/react.production.min.js" crossorigin></script> <script src="https://unpkg.com/react-dom@17/umd/react-dom.production.min.js" crossorigin></script> {{ end }} + {{/* We (Hugo/ESBuild) needs to improve the worker integration, but this could be a OK workaround. */}} + {{ $worker := resources.Get "js/myworker.js" | js.Build }} {{ $inject := slice "js/shims/process.js" }} - {{ $js := resources.Get "js/main.js" | js.Build (dict "minify" false "params" (dict "myparam" "Hugo Rocks!") "inject" $inject ) }} + {{ $js := resources.Get "js/main.js" | js.Build (dict "minify" false "params" (dict "myparam" "Hugo Rocks!" "myworker" $worker.RelPermalink) "inject" $inject ) }} <script src="{{ $js.RelPermalink }}"></script> {{ partialCached "jslibs/alpinejs/script-src.html" "-" }} </head> |