最前端|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

相关文章

Python设置Cookie永不超时的详细指南

《Python设置Cookie永不超时的详细指南》Cookie是一种存储在用户浏览器中的小型数据片段,用于记录用户的登录状态、偏好设置等信息,下面小编就来和大家详细讲讲Python如何设置Cookie... 目录一、Cookie的作用与重要性二、Cookie过期的原因三、实现Cookie永不超时的方法(一)

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

Java中的雪花算法Snowflake解析与实践技巧

《Java中的雪花算法Snowflake解析与实践技巧》本文解析了雪花算法的原理、Java实现及生产实践,涵盖ID结构、位运算技巧、时钟回拨处理、WorkerId分配等关键点,并探讨了百度UidGen... 目录一、雪花算法核心原理1.1 算法起源1.2 ID结构详解1.3 核心特性二、Java实现解析2.

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

深度解析Python装饰器常见用法与进阶技巧

《深度解析Python装饰器常见用法与进阶技巧》Python装饰器(Decorator)是提升代码可读性与复用性的强大工具,本文将深入解析Python装饰器的原理,常见用法,进阶技巧与最佳实践,希望可... 目录装饰器的基本原理函数装饰器的常见用法带参数的装饰器类装饰器与方法装饰器装饰器的嵌套与组合进阶技巧

深度解析Spring Boot拦截器Interceptor与过滤器Filter的区别与实战指南

《深度解析SpringBoot拦截器Interceptor与过滤器Filter的区别与实战指南》本文深度解析SpringBoot中拦截器与过滤器的区别,涵盖执行顺序、依赖关系、异常处理等核心差异,并... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现

MySQL追踪数据库表更新操作来源的全面指南

《MySQL追踪数据库表更新操作来源的全面指南》本文将以一个具体问题为例,如何监测哪个IP来源对数据库表statistics_test进行了UPDATE操作,文内探讨了多种方法,并提供了详细的代码... 目录引言1. 为什么需要监控数据库更新操作2. 方法1:启用数据库审计日志(1)mysql/mariad

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加

Go语言代码格式化的技巧分享

《Go语言代码格式化的技巧分享》在Go语言的开发过程中,代码格式化是一个看似细微却至关重要的环节,良好的代码格式化不仅能提升代码的可读性,还能促进团队协作,减少因代码风格差异引发的问题,Go在代码格式... 目录一、Go 语言代码格式化的重要性二、Go 语言代码格式化工具:gofmt 与 go fmt(一)