最前端|Flowise本地调试指南,让你轻松掌握调试技巧

2023-12-21 10:52

本文主要是介绍最前端|Flowise本地调试指南,让你轻松掌握调试技巧,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、前言

二、环境要求

三、开发环境准备

四、调试后端代码

五、调试前端代码

六、环境变量配置【非必须】


一、前言

Flowise 是一个具备 3 个不同模块的 monorepo 工程,这 3 个模块分别负责:

  • server: Node API 后端服务
  • ui: React 前端
  • components: Langchain 组件

二、环境要求

  • Node.js v16 +
  • 安装 yarn v1:
npmi -g yarn

三、开发环境准备

1、ForkFlowise Github Repository在新窗口打开

2、Clone 你 Fork 的仓库并 cd 到项目根目录

3、创建并切换到一个分支,名字随意

4、安装依赖:

yarn install

提示:
安装过程可能要 10 分钟左右,请耐心等待

5、构建代码

yarn build

6、在 http://localhost:3000 上启动应用(非开发模式):

yarn start

7、【可选】配置环境变量:参考下文环境变量

8、使用开发模式启动项目:

yarn dev

在开发模式下
对packages/ui或packages/server的所有改动会更新到http://localhost:8080
如果有对packages/components的改动,需要重新执行yarn build使其生效

四、调试后端代码

1、在.vscode目录下创建文件launch.json

2、在 configurations 数组里创建一个配置对象,主要关注以下配置:

  • type:配置类型
  • name:显示在启动下拉菜单中的名称
  • cwd:执行启动命令的绝对路径,通常会用到表示 vscode 当前工作路径的变量 workspaceFolder
  • runtimeExecutable:用什么命令启动,默认为 node
  • runtimeArgs:启动命令的参数列表

3、根据 IntelliSense 设置其他你需要的配置,hover 配置选项可以看到说明

4、示例配置(启动命令为 yarn dev):

{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Backend",
"skipFiles": ["<node_internals>/**"],
"runtimeExecutable": "yarn",
"runtimeArgs": ["dev"],
"cwd": "${workspaceFolder}"
}
]
}

5、侧边栏切换至 Run and Debug 一栏,在下拉菜单中选择我们的配置,F5 启动调试

6、在packages/server中打断点测试,重启调试后能够正常进入断点即可

五、调试前端代码

1、这里演示用attach模式调试前端,因此要先执行yarn dev手动用开发模式启动前端工程

2、打开.vscode/launch.json文件,在 configurations 数组中添加一个配置对象

3、主要关注以下配置:

  • type:配置类型,这里使用 chrome 而不是 node
  • request:调试的请求类型,可选项为 launch 和 attach,这里选择 attach
  • port:用于远程调试浏览器的端口,chrome 推荐的端口为 9222;注意:这个端口不是前端工程的运行端口,而是和浏览器通信的调试用端口
  • url:要调试的前端应用的 url,如果不是本地 url 相当于远程调试(远程调试还有一些关键配置,这里不演示)
  • webRoot:表明在哪个本地目录下寻找连接到的进程正在运行的代码(不是构建后的代码,是源代码路径)

4、示例配置:

{
"version": "0.2.0",
"configurations": [
{
"type": "chrome",
"name": "Launch Frontend",
"request": "attach",
"port": 9222,
"url": "http://localhost:8080",
"webRoot": "${workspaceFolder}\\packages\\ui\\src"
}
]
}

5、侧边栏切换至 Run and Debug 一栏,在下拉菜单中选择我们的配置,F5 启动调试

6、在packages/ui中打断点测试,重启调试后能够正常进入断点即可

六、环境变量配置【非必须】

分别在packages/ui和packages/server下创建.env文件可以配置前端和后端应用的环境变量,所有环境变量参考environment-variables在新窗口打开

  • packages/ui 环境变量配置示例:
PORT=8080
  • packages/server 环境变量配置示例:
PORT=3000
OVERRIDE_DATABASE=true
DATABASE_TYPE=sqlite
#DATABASE_PATH=/your_database_path/.flowise
#When database is not sqlite
#DATABASE_PORT=""
#DATABASE_HOST=""
#DATABASE_NAME="flowise"
#DATABASE_USER=""
#DATABASE_PASSWORD=""#FLOWISE_USERNAME=user
#FLOWISE_PASSWORD=1234
#DEBUG=true
#APIKEY_PATH=/your_api_key_path/.flowise
#LOG_PATH=/your_log_path/.flowise/logs
#LOG_LEVEL=debug (error | warn | info | verbose | debug)
#EXECUTION_MODE=main (child | main)
#TOOL_FUNCTION_BUILTIN_DEP=crypto,fs
#TOOL_FUNCTION_EXTERNAL_DEP=moment,lodash

到此就结束了,感兴趣可以自己尝试一下。

作者:范轶洁| 资深前端开发工程师

版权声明:本文由神州数码云基地团队整理撰写,若转载请注明出处。

公众号搜索神州数码云基地,了解更多技术干货。

这篇关于最前端|Flowise本地调试指南,让你轻松掌握调试技巧的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/519706

相关文章

Vue和React受控组件的区别小结

《Vue和React受控组件的区别小结》本文主要介绍了Vue和React受控组件的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录背景React 的实现vue3 的实现写法一:直接修改事件参数写法二:通过ref引用 DOMVu

JavaScript中的高级调试方法全攻略指南

《JavaScript中的高级调试方法全攻略指南》什么是高级JavaScript调试技巧,它比console.log有何优势,如何使用断点调试定位问题,通过本文,我们将深入解答这些问题,带您从理论到实... 目录观点与案例结合观点1观点2观点3观点4观点5高级调试技巧详解实战案例断点调试:定位变量错误性能分

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Vue3绑定props默认值问题

《Vue3绑定props默认值问题》使用Vue3的defineProps配合TypeScript的interface定义props类型,并通过withDefaults设置默认值,使组件能安全访问传入的... 目录前言步骤步骤1:使用 defineProps 定义 Props步骤2:设置默认值总结前言使用T

Python实现精确小数计算的完全指南

《Python实现精确小数计算的完全指南》在金融计算、科学实验和工程领域,浮点数精度问题一直是开发者面临的重大挑战,本文将深入解析Python精确小数计算技术体系,感兴趣的小伙伴可以了解一下... 目录引言:小数精度问题的核心挑战一、浮点数精度问题分析1.1 浮点数精度陷阱1.2 浮点数误差来源二、基础解决

Java实现在Word文档中添加文本水印和图片水印的操作指南

《Java实现在Word文档中添加文本水印和图片水印的操作指南》在当今数字时代,文档的自动化处理与安全防护变得尤为重要,无论是为了保护版权、推广品牌,还是为了在文档中加入特定的标识,为Word文档添加... 目录引言Spire.Doc for Java:高效Word文档处理的利器代码实战:使用Java为Wo

从入门到精通详解Python虚拟环境完全指南

《从入门到精通详解Python虚拟环境完全指南》Python虚拟环境是一个独立的Python运行环境,它允许你为不同的项目创建隔离的Python环境,下面小编就来和大家详细介绍一下吧... 目录什么是python虚拟环境一、使用venv创建和管理虚拟环境1.1 创建虚拟环境1.2 激活虚拟环境1.3 验证虚

从基础到高级详解Python数值格式化输出的完全指南

《从基础到高级详解Python数值格式化输出的完全指南》在数据分析、金融计算和科学报告领域,数值格式化是提升可读性和专业性的关键技术,本文将深入解析Python中数值格式化输出的相关方法,感兴趣的小伙... 目录引言:数值格式化的核心价值一、基础格式化方法1.1 三种核心格式化方式对比1.2 基础格式化示例