学習クイックスタート

クイックスタート

Svelte Flowは、React Flowの開発者によって構築された、インタラクティブなグラフとノードベースのエディターを構築するための高度にカスタマイズ可能なコンポーネントです。

💡

このパッケージは現在アルファ版であり、活発に開発中です。APIは変更される可能性があります。最新の変更点については、「新着情報」セクションをご覧ください。

オンラインで試す

Stackblitzで提供されているスタータープロジェクトをチェックすることで、ローカルに何も設定せずにSvelte Flowを試すことができます。

new.svelteflow.dev/ts

Viteテンプレート

すぐに使い始めるには、viteテンプレートを使用できます。

npx degit xyflow/vite-svelte-flow-template app-name

インストール

Svelte Flowの最新バージョンを入手する最も簡単な方法は、npm、yarn、またはpnpmを使用してインストールすることです。

npm install @xyflow/svelte

最初のフローの作成

Svelte Flowの最も重要なコンポーネントである`SvelteFlow`、`Controls`、`Background`、`MiniMap`を組み合わせることから始めます。基本的なフローは次のようになります。

<script>
  import { writable } from 'svelte/store';
  import {
    SvelteFlow,
    Controls,
    Background,
    BackgroundVariant,
    MiniMap
  } from '@xyflow/svelte';
 
  // 👇 this is important! You need to import the styles for Svelte Flow to work
  import '@xyflow/svelte/dist/style.css';
 
  // We are using writables for the nodes and edges to sync them easily. When a user drags a node for example, Svelte Flow updates its position.
  const nodes = writable([
    {
      id: '1',
      type: 'input',
      data: { label: 'Input Node' },
      position: { x: 0, y: 0 }
    },
    {
      id: '2',
      type: 'default',
      data: { label: 'Node' },
      position: { x: 0, y: 150 }
    }
  ]);
 
  // same for edges
  const edges = writable([
    {
      id: '1-2',
      type: 'default',
      source: '1',
      target: '2',
      label: 'Edge Text'
    }
  ]);
 
  const snapGrid = [25, 25];
</script>
 
<!--
👇 By default, the Svelte Flow container has a height of 100%.
This means that the parent container needs a height to render the flow.
-->
<div style:height="500px">
  <SvelteFlow
    {nodes}
    {edges}
    {snapGrid}
    fitView
    on:nodeclick={(event) => console.log('on node click', event.detail.node)}
  >
    <Controls />
    <Background variant={BackgroundVariant.Dots} />
    <MiniMap />
  </SvelteFlow>
</div>

貢献する方法

**作品を見せてください:** Discordサーバーにドロップするか、ツイートするか、info@xyflow.comまでメールでお問い合わせください。

**コミュニティへの参加:** Discordサーバーで質問したり、回答したり、Githubのディスカッションに参加してください。

**バグの修正:** すべてのバグを捕捉することはできません。既存の問題とディスカッションを最初に確認し、次に新しい問題を作成して、問題を教えてください。

**財政支援:** Svelte Flowのメンテナンスが継続されるようにしたい組織の方は、info@xyflow.comまでご連絡ください。

もちろん、Githubのスターも大歓迎です⭐