create-frourio-app icon indicating copy to clipboard operation
create-frourio-app copied to clipboard

feat: svelte-kit 対応

Open LumaKernel opened this issue 3 years ago • 2 comments

やっていきます。

npm init svelte@next
  • [ ] svelte-kit 単体の frourio サンプル
  • [ ] テンプレートへの移行

バージョンは 1.0.0 までは next ではなく1.0.0-next.34 のように固定する方針でやっていきたい。

リンク

  • https://www.npmjs.com/package/@sveltejs/kit
  • https://www.npmjs.com/package/@sveltejs/adapter-node
  • https://www.npmjs.com/package/@sveltejs/snowpack-config

LumaKernel avatar Feb 27 '21 09:02 LumaKernel

svelte-kit についてなんですが、ちょっと現段階ではとりあえず動くものというのもなかなか難しそうな気がします…

svelte-kit の仕組み

npx snowpack devnpx svelte-kit dev でだいぶ違う。現状 private に開発されているので実験とビルドされたものに対してデバッグでわかったことは、snowpack を裏で動かして、手前側で svelte-kit 独自のサーバーを動かして、import 解決をsvelte-kit 側で独自にやる、という感じです。

問題点

シンプルにバグがあると思います。svelte-kit に。それに対し issue も PR もできないのでなおさら厳しいかもです。まあ、開発中なので仕方ないですね…。

  • svelte ファイルから相対パスでないモジュールを読み込むところなど。 npm パッケージを読み込むこと全般がうまくいかない。
  • サーバー側での問題を無理やりクリアさせてみたがそれでもクライアント側でうまくいかず厳しい…

たとえば snowpack 自体には以下のように

image

モジュールを相対パスにする機能があるのですが、svelte-kit だと

image

のように変換してくれなくてうまく行かないなど…

現状を見ていると、将来、v1までには大きく舵を切るんじゃないかと思っています。 (snowpack の機能をもっと活用する、文字列置換ベースでなくする、など)。

LumaKernel avatar Mar 02 '21 12:03 LumaKernel

ありがとう、このレポート非常に面白い! 貴重な知見をここだけに書き残しておくのはもったいないな・・・ とりあえず安定版が公開されるまではペンディングだね

solufa avatar Mar 02 '21 14:03 solufa