篮之新喜 发表于 4 天前

Dify Web 前端开发与部署指南

1. 开发环境配置

1.1 体系要求



[*]Node.js >= 18.17.0
[*]pnpm >= 8.x
1.2 开发环境准备

# 克隆仓库
git clone https://github.com/langgenius/dify.git
cd dify/web

# 安装依赖
pnpm install

# 启动开发服务器
pnpm dev
开发服务器默认会在 http://localhost:3000 启动。
1.3 环境变量配置

开发环境下可通过两种方式配置环境变量:

[*]修改 .env 文件
[*]或创建 .env.local 文件(保举,不会被 git 跟踪)
主要环境变量包括:
# API路径配置
NEXT_PUBLIC_API_PREFIX=/console/api
NEXT_PUBLIC_PUBLIC_API_PREFIX=/api
NEXT_PUBLIC_MARKETPLACE_API_PREFIX=/marketplace/api
NEXT_PUBLIC_MARKETPLACE_URL_PREFIX=/marketplace

# 版本配置
NEXT_PUBLIC_EDITION=SELF_HOSTED

# 其他配置
NEXT_PUBLIC_SUPPORT_MAIL_LOGIN=false
2. 项目结构和关键文件

2.1 目次结构

web/
├── app/            # Next.js App Router 结构
│   ├── components/   # 组件目录
│   ├── (commonLayout)/ # 主应用布局
│   │   ├── apps/   # 应用相关页面
│   │   ├── datasets/ # 数据集相关页面
│   │   └── ...       # 其他页面
│   ├── signin/       # 登录页面
│   └── ...
├── config/         # 配置文件
├── service/          # API服务
├── utils/            # 工具函数
├── i18n/             # 国际化资源
├── public/         # 静态资源
├── next.config.js    # Next.js配置
└── ...
2.2 关键配置文件



[*]config/index.ts - 全局配置,包括API路径
[*]next.config.js - Next.js配置
[*].env 和 .env.example - 环境变量配置
[*]middleware.ts - 请求拦截和处理
[*]service/fetch.ts - 请求处理基础逻辑
3. API接口配置

3.1 接口路径配置

接口路径主要在 config/index.ts 文件中配置:
// 通过环境变量设置API路径
if (process.env.NEXT_PUBLIC_API_PREFIX && process.env.NEXT_PUBLIC_PUBLIC_API_PREFIX) {
   
apiPrefix = process.env.NEXT_PUBLIC_API_PREFIX
publicApiPrefix = process.env.NEXT_PUBLIC_PUBLIC_API_PREFIX
}
else if (
globalThis.document?.body?.getAttribute('data-api-prefix')
&& globalThis.document?.body?.getAttribute('data-pubic-api-prefix')
) {
   
// 从HTML属性获取API路径
api
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Dify Web 前端开发与部署指南