通过 CDN 引入 Tinyflow
本文将指导你如何通过 CDN 快速在 HTML 页面中集成并使用 Tinyflow。
1. 引入 Tinyflow 资源
在 HTML 文件的 <head> 中引入 Tinyflow 的 CSS 和 JS 资源:
html
<link href="https://unpkg.com/@tinyflow-ai/ui/dist/index.css" rel="stylesheet">
<script src="https://unpkg.com/@tinyflow-ai/ui/dist/index.umd.js"></script>注意:确保链接末尾没有多余空格,否则可能导致资源加载失败。
2. 创建容器并初始化 Tinyflow
在页面中准备一个容器元素(如 <div id="app"></div>),然后通过 JavaScript 初始化 Tinyflow 实例:
html
<div id="app"></div>
<script>
// 初始化 Tinyflow 实例
const tinyflow = new Tinyflow.Tinyflow({
element: '#app', // 指定挂载的 DOM 元素
data: {} // 可选:传入初始流程数据(JSON 格式)
});
</script>element:支持 CSS 选择器(如#app、.container)。data:流程图的初始数据,遵循 Tinyflow 的数据结构规范(可为空)。
3. 完整示例
以下是一个可直接运行的完整 HTML 示例。将其保存为 .html 文件并在浏览器中打开,即可看到 Tinyflow 的可视化编辑器:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tinyflow Quick Start</title>
<link href="https://unpkg.com/@tinyflow-ai/ui/dist/index.css" rel="stylesheet">
<script src="https://unpkg.com/@tinyflow-ai/ui/dist/index.umd.js"></script>
<style>
#app {
width: 800px;
height: 600px;
border: 1px solid #ccc;
}
</style>
</head>
<body style="padding: 100px;">
<div id="app"></div>
<script>
var data = `{"nodes":[{"id":"2","type":"llmNode","data":{"title":"大模型","description":"处理大模型相关问题","expand":true,"outputDefs":[{"id":"pyiig8ntGWZhVdVz","dataType":"Object","name":"param","children":[{"id":"1","name":"newParam1","dataType":"String"},{"id":"2","name":"newParam2","dataType":"String"}]}]},"position":{"x":550,"y":50},"measured":{"width":322,"height":623},"selected":true},{"id":"3","type":"startNode","data":{"title":"开始节点","description":"开始定义输入参数","expand":true},"position":{"x":150,"y":25},"measured":{"width":306,"height":200},"selected":false},{"id":"4","type":"endNode","data":{"title":"结束节点","description":"结束定义输出参数","expand":true},"position":{"x":950,"y":100},"measured":{"width":306,"height":200},"selected":false}],"edges":[],"viewport":{"x":250,"y":100,"zoom":1}}`;
// 初始化 Tinyflow
var tinyflow = new Tinyflow.Tinyflow({
element: '#app',
data: JSON.parse(data)
});
</script>
</body>
</html>提示:
- 你可以将
data替换为从后端 API 获取的流程数据,实现动态加载。- 确保页面在 HTTP/HTTPS 环境下打开(部分浏览器对本地
file://协议的跨域限制较严格)。