@ equinor/ 聚变框架- dev- server
用于Fusion框架应用的开发服务器原始. 包裹结合了维特, React Fastresh,SPA环境注入,Fusion服务发现,以及本地API代理.
[TIP] 大多数应用程序开发者应该从
ffc app dev时直接使用此软件包 正在构建框架工具、自定义开发命令或需要 Vite 集成 控制服务器创建.
选择您的切入点
| 目标 | 从这里开始 |
|---|---|
| 本地运行聚合应用程序 | ffc app dev 从 @equinor/fusion-framework-cli |
| 创建并启动配置的 Vite 服务器 | createDevServer(options, overrides?) |
| 不启动服务器而生成 Vite 配置 | createDevServerConfig(options, overrides?) |
| 自定义服务发现代理路线 | processServices(data, args) |
| 针对本地 OpenAPI 模拟开发 | @equinor/fusion-framework-cli-plugin-mock-server |
快开始
pnpm add -D @equinor/fusion-framework-dev-server vite
import { createDevServer } from '@equinor/fusion-framework-dev-server';
const server = await createDevServer({
spa: {
templateEnv: {
portal: { id: 'my-portal' },
title: 'My application',
serviceDiscovery: {
url: 'https://service-discovery.example.com',
scopes: ['api://example.com/user_impersonation'],
},
msal: {
clientId: 'client-id',
tenantId: 'tenant-id',
redirectUri: '/authentication/login-callback',
requiresAuth: 'true',
},
},
},
api: { serviceDiscoveryUrl: 'https://service-discovery.example.com' },
});
await server.listen();
server.printUrls();
浏览器接收 spa.templateEnv。节点开发服务器使用
api.serviceDiscoveryUrl 获取服务定义并创建同源代理路由。 这些
两个URL经常指向同一个终点,但它们服务于不同的消费者.
继续 开始 完全的精神模型.
向本地OTLP 采集器发送应用程序遥测
从您的应用程序仓库中, 在启动 Dev 服务器时设置环境变量 :
FUSION_DEV_SERVER_OTLP_ENDPOINT=http://localhost:4318 pnpm exec ffc app dev
没有应用代码或 DevServerOptions 需要改变。 遥测舱的 OtlpAdapter 用途
标准 OpenTeleometry OTLP/ HTTP 日志导出器,通过同源的 dev-server 路由。 应用记录
包含 fusion.app.key 财务报告和审定财务报表 source: app; 使用 shell 记录 source: framework。 。 。 .
浏览器获取/ XHR 跨度也被导出 。 W3C 战车 traceparent 财务报告和审定财务报表 tracestate 信头连接
使用仪器后端的请求,以及活动期间所排放的日志,都带有其跟踪/扫描标识.
相同的收藏器 URL 配置 /v1/logs 财务报告和审定财务报表 /v1/traces。 。 。 .
应用程序明确配置的遥测适配器优先,所以其记录不是同样 由 dev-server 返回导出。 未设定的可变函数未改变遥测和生产 建设永远无法实现这种一体化。 收藏器失败在 dev- server 中报告一次 终端不中断应用程序.
见 OTLP 环境配置 关于终点合同和边界.
本地存储 API
当后端不可用、不稳定或需要时安装可选的模拟服务器插件 确定性对策:
pnpm add -D @equinor/fusion-framework-cli-plugin-mock-server
ffc mock-server ./mocks --port 4010
[大
ffc mock-server是一个独立的前景进程。 安装插件不启动 与ffc app dev; 开发者或测试跑者拥有其生命周期.
插件添加了类型 mockServer 设置为 DevServerOptions 只有在输入其类型时,
保持这个基础包独立于可选的取笑工具.
见 开发模拟服务 用于正常开发的顶点,相隔
--mock 模式, 直接服务, 以及可执行文件 <name>.mock.ts 模块。 为了验证应用程序
帮助按钮打开右侧文章,参见
本地测试帮助文章要检查
分析应用程序的音轨,参见
测试本地分析。 。 。 .
学习顺序
- 开始 解释服务器的生命周期和最小的有用设置.
- 配置 Dev 服务器 涵盖SPA环境,API代理和伐木.
- 开发模拟服务 显示推荐的可选模拟工作流程.
- 高级用途 覆盖服务处理,线路,Vite覆盖,以及扩展接口.
- 解决问题 将常见症状映射到负责配置.
公共 API
createDevServer创建已配置ViteDevServer调用listen()你自己来.createDevServerConfig返回维特UserConfig用于消耗另一个工具.processServices重写通过本地代理和返回路径发现了服务 URI.DevServerOptions<TEnv>配置 SPA 注入、 API 发现和记录 。 它是一个接口,因此可选插件可以扩充它.FusionService使用key, (中文(简体) ),uri, (中文(简体) ),name,和可选 OAuthscopes。 。 。 .
要求和界限
- 需要Vite 7或8作为同伴依赖.
api.serviceDiscoveryUrl是由低等API要求的.- 每个请求 Dev 服务器在上游的代理( 服务发现和 API 路由)
X-Fusion-Dev-Server-Name财务报告和审定财务报表X-Fusion-Dev-Server-Version,所以上游遥测可以辨别 地方发展交通分开. 添加更多内容api.headers· ;ffc添加X-Fusion-Mock: true|false。 。 。 . - 软件包配置开发;它不构建或发布应用程序.
- Mock-server的安装和处理寿命周期是可选的,也是这个包的外在.
许可证
公务员制度委员会