Svelte で Web コンポーネントを作成するプロジェクトを始めるには、以下の手順で進めます。
1. プロジェクトの作成
まず、Svelte の新しいプロジェクトを作成します。以下のコマンドをターミナルで実行します。
npm create vite@latest my-svelte-web-component --template svelte
cd my-svelte-web-component
npm install
これにより、my-svelte-web-component
という名前の新しい Svelte プロジェクトが作成されます。
2. Web コンポーネントの作成
次に、Web コンポーネントを作成します。src
ディレクトリ内に新しいファイルを作成し、例えば MyComponent.svelte
という名前を付けます。
MyComponent.svelte
の内容は以下のようになります。
<svelte:options tag="my-component" />
<script>
export let name = "World";
</script>
<h1>Hello, {name}!</h1>
<svelte:options tag="my-component" />
は、このコンポーネントを my-component
という名前のカスタム要素として登録するための設定です。
3. Web コンポーネントのビルド
Web コンポーネントをビルドするには、以下のコマンドを実行します。
これにより、dist
ディレクトリ内にビルドされたファイルが生成されます。
4. Web コンポーネントの使用
ビルドされた Web コンポーネントは、通常の HTML ファイル内で以下のように使用できます。
<!DOCTYPE html>
<html>
<head>
<title>My Web Component</title>
</head>
<body>
<my-component name="Svelte"></my-component>
<script src="./dist/my-component.js"></script>
</body>
</html>
dist/my-component.js
は、ビルドされた Web コンポーネントの JavaScript ファイルです。
補足
- SvelteKit を使用している場合は、
src/routes
ディレクトリ内に Web コンポーネントを作成する必要があります。
- Web コンポーネントのスタイルは、通常の Svelte コンポーネントと同様に
<style>
タグ内で記述できます。
- Web コンポーネントのプロパティは、
export let
で定義します。
- Web コンポーネントのイベントは、
dispatchEvent
を使用して発行します。
その他
Svelte で Web コンポーネントを作成する際には、以下の記事も参考になります。