Skip to content
Permalink
Browse files
Fix
  • Loading branch information
mizchi committed May 17, 2020
1 parent 104726f commit d01650c159c1beec58b870b6e20983f907a8c9e7
Showing 1 changed file with 3 additions and 1 deletion.
@@ -70,7 +70,7 @@ deno-ja の slack で聞いた限りでは justjavac の方が公式に近い立
- preact
- htm

snowpack は一種のフロントエンド向けのバンドラーなんですが、webpack に頼らずネイティブ ESM で動くモジュールを吐いて、それを importmap を、 deno の importmap として使う、といった方法を選んでみました。
snowpack は一種のフロントエンド向けのバンドラーなんですが、webpack に頼らずネイティブ ESM で動くモジュールを吐いて、その際に snowpack が生成する `import-map.json` deno の importmap として使う、といった方法を選んでみました。

- [Snowpack](https://www.snowpack.dev/)
- [WICG/import\-maps: How to control the behavior of JavaScript imports](https://github.com/WICG/import-maps)
@@ -83,6 +83,8 @@ snowpack は一種のフロントエンド向けのバンドラーなんです
snowpack && deno run --unstable --allow-write --allow-read --allow-net --importmap web_modules/import-map.json server.ts
```

権限を厳密に管理するので、多少辛いですね…

deno ならではの工夫として、next.js のクローンなので `pages/*.ts` のエンドポイントをターゲットに SSR する必要があるんですが、webpack や rollup のバンドラを使うのではなく `Deno.bundle(Deno.cwd() + "/pages/foo.ts")` みたいなコードで Deno の内部バンドラをそのまま使って、静的な JS を吐いてブラウザに食わせています。

あと、 amp + amp-script(worker-dom) で動かしているので、 amp ページでありながら動的に動く画面を作れます。 worker-dom は技術的な詳細はここでは解説しませんが、動的なコンポーネントを初期化するには SSR が必須です。

0 comments on commit d01650c

Please sign in to comment.