Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gohugoio/hugoTestProjectJSModImports.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2021-08-19 21:04:46 +0300
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2021-08-19 21:04:46 +0300
commitd196c28e352daa9ab68739a778522153b9b3d165 (patch)
treee5600127d72d0e936a5456c9f6c7cedcafc180a3
parent32273ee19af2db0841b5e28ca887bf94ada832ed (diff)
Add a simple WorkerHEADv0.10.0main
-rw-r--r--assets/js/main.js12
-rw-r--r--assets/js/myworker.js7
-rw-r--r--layouts/index.html4
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>