snowpackで遊んでみたいと思い、試すことに。
snowpackについてはこちら
が読みやすかったです。
FWに何を選ぼうかなーと思った時に、
凝ったことをしようとすると
結局トランスパイルやバンドラーの話が出てくるため、
preactを選ぶことに。
(ちなみにpreactも初体験ですが、コード自体はReactとほぼ大差がありませんでした)
preactには疎いため、
とりあえず以下のものも合わせて入れました。
JSX(ライク)
-> htm
CSS in JS
-> picostyle
ルータ
-> preact-router
Store
-> unistore
引っかかりポイントとしては、
snowpackはそのままだと、ディレクトリ構造まで把握して
jsファイルに出力はしてくれないようで。
preact/hooks
のようなものを使いたい場合は、
package.jsonに次のような記載が必要な模様。
(ただしこの記載を行うと、今度は都度指定しないとweb_modulesには出力されなくなる)
"snowpack": { "webDependencies": [ "preact/hooks" ] }
あとはpreactとの戦いでした。
遊び程度なので深く追っていないのですが、
htm + picostyleを同時に使用することは叶わず、
次のような感じで書くことに。
import { h } from '/web_modules/preact.js'; import { html } from '/web_modules/htm/preact.js'; import picostyle from '/web_modules/picostyle.js'; const ps = picostyle(h); const Child = ps('div')({ // style }); const Parent props = html`...`;
うーん、キモい。
なんとかならないだろうか。