Svelteについて、備忘録

Svelteを始めるなら、次のコマンドを入力するのが手っ取り早い。

npx degit sveltejs/template my-svelte-project
cd my-svelte-project
npm install
npm run dev

次のようなディレクトリ構成が生成される。

my-svelte-project /
|--package-lock.json
|--package.json
|--rollup.config.js
|--public
| |-- "omitted"
|--src
| |--App.svelte
| |--global.d.ts
| |--main.ts

また、プログラムを編集する前に、以下を実行しておくと、Typescriptを使用することができるようになる。

node scripts/setupTypeScript.js

そのほかに便利なプラグインとして、以下の2つが便利だった。

これらは、Svelteによって作成したコンポーネントのscript内にあるimport文に効果があるプラグインである。aliasは、インポートするときのパスに別名をつけることができるようにする。jsonは、言わずもがなjsonをインポートするときに必要になる。これを使用せずにjsonをインポートすると、ビルドする時に警告が出る。

なお、Svelteにとって必要かどうかは全くしらないが、jsonをインポートするときに、これを追加しておいた。Svelteのコンポーネントではなく、ピュアなTypeScriptでJsonをインポートするときに必要だ。

// src/json.d.ts

declare module '*.json' {
    const data: any;

    export default data;
}

Svelteを使いこなすのに、rollupの知識がしばしば要求されるな。というより、Svelteはrollupのうまいラッパーと心得たほうがよさそうだ。

大昔のJavaScriptの世界にはビルドなんてなかったから、あのときからずいぶん進歩したよなぁ。Node.jsが有名になってから少ししたくらい(それでもはるか昔だね)に、webpackとか、babelとか、gulpとかを知った時は感動したものだわ。rollupもhtmlやcss、なんとかscriptをまとめる便利なツールなんだろうね。

コメントする