学习快速入门

快速入门

Svelte Flow 是一个高度可定制的组件,用于构建交互式图表和基于节点的编辑器,由 React Flow 的创建者打造。

💡

该包目前处于 alpha 状态,正在积极开发中。API 可能会发生变化。您可以在 “新功能”部分 阅读有关最新更改的信息。

在线体验

您可以在 Stackblitz 上查看我们提供的入门项目,无需本地设置即可尝试 Svelte Flow。

Vite 模板

如果您想立即开始,可以使用我们的 vite 模板

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

安装

获取 Svelte Flow 最新版本的最佳方式是通过 npm、yarn 或 pnpm 进行安装。

npm install @xyflow/svelte

创建你的第一个流程

我们从将 Svelte Flow 的最关键组件堆叠在一起开始:SvelteFlowControlsBackgroundMiniMap。一个基本流程看起来像这样

<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 服务器推特 上,或者给我们发送电子邮件至 [email protected]

社区参与:在我们的 Discord 服务器 上提问和解答问题,或者参与 Github 上的讨论。

修复错误:我们不能发现所有错误。请先查看现有问题和讨论,然后创建新问题告诉我们发生了什么。

财务支持:如果您是希望确保 Svelte Flow 继续维护的组织,请联系我们,邮箱地址为 [email protected]

当然,我们也喜欢 Github 星星 ⭐