@gct-paas/render
paas 平台网页端底包
23,459
| Install | |
|---|---|
npm install @gct-paas/render |
|
| Latest Version: | 6.1.2 |
| Vue: | 3 |
| License: | MIT |
| Last Updated: | Oct 15, 2026 |
| Links: | Repository · npm |
Maintainer: neko-chilyann
@gct-paas/render
PaaS 平台渲染引擎底包。负责将设计 schema 渲染为运行时页面:设计渲染 controller/state、Event 引擎、表达式、搜索 hooks、RenderNode 注册。挂载 _gct.register.render 与 window._kit。
本文档面向后续开发与 AI 模型阅读:说明渲染注册机制及与 render-web 的分工。
包信息
| 项 | 值 |
|---|---|
| 包名 | @gct-paas/render |
| 入口 | es/index.mjs(类型:es/index.d.ts) |
| 全局类型 | @gct-paas/render/types |
| peer | @gct-paas/api、core、core-web、schema、scss、vue>=3 |
import { renderSetupApp, RenderRegister, RenderNodeRegister } from '@gct-paas/render';
// 引入即 onInit() → register.render + window._kit
在 monorepo 中的位置
core → core-web → render(渲染引擎)
└── render-web(Web 渲染产品层)
规划中:render-mobile / render-pad 为端侧对等层(仓库暂未包含)。
依赖说明
关键 workspace 依赖
| 包 | 用途 |
|---|---|
@gct-paas/core |
_gct、PluginPgkUtil、工具 |
@gct-paas/core-web |
运行时 UI、表单渲染基础 |
@gct-paas/schema |
渲染 schema 类型 |
主要工具依赖
| 依赖 | 用途 |
|---|---|
esprima-next + escodegen |
表达式 AST |
vue3-dnd |
运行时拖拽 |
bignumber.js |
数值计算 |
axios / qs |
渲染期请求 |
源码结构
packages/render/src/
├── index.ts # onInit → register.render + _kit
├── setup-app.ts # renderSetupApp(locale)
├── register/ # RenderRegister、RenderNodeRegister
├── components/ # design-render、design-render-item
├── controller/ # 渲染 controller 层级
├── state/ # Pinia/状态:design-render*
├── Event/ # 页面事件引擎、依赖规则、bizService
├── providers/ # 节点 provider 扩展
├── hooks/ # useDesignRenderController 等
├── utils/ # 表达式、搜索、插件包、field-attrs
├── modules/vue3-dnd/ # 运行时 DND
└── constant/ # 数据格式、日期等
与 _gct 的关系
引入时自动挂载(防重复):
_gct.register.render = new RenderRegister();
// 插件/套件扩展容器(只读空对象,由各 kit 写入)
Object.defineProperty(window, '_kit', {
value: {},
writable: false,
configurable: false,
});
| 全局 | 说明 |
|---|---|
_gct.register.render |
渲染器总注册(视图、插件等) |
window._kit |
套件/插件挂载点,供扩展包注册能力 |
运行时还依赖 core-web 的 _gct.message、mqtt、store、router 等。
启动与用法
import { setupApp, createAppVue } from '@gct-paas/core';
import { coreWebSetupApp, coreWebCreateAppVue } from '@gct-paas/core-web';
import { renderSetupApp } from '@gct-paas/render';
const app = createApp(Root);
await setupApp(app);
await coreWebSetupApp(app);
await renderSetupApp(app); // 注册 render locale
createAppVue(app);
coreWebCreateAppVue(app);
app.mount('#app');
扩展渲染节点:
import {
RenderNodeRegister,
RenderNodeType,
DesignRenderViewPrefix,
} from '@gct-paas/render';
RenderNodeRegister.register(
RenderNodeType.FIELD,
() => new MyFieldProvider(),
DesignRenderViewPrefix.CARD_VIEW,
);
(Web 端 card-view 注册见 @gct-paas/render-web 的 renderWebSetupApp。)
主要导出速查
| 类别 | 示例 |
|---|---|
| 启动 | renderSetupApp、onInit |
| 注册 | RenderRegister、RenderNodeRegister、RenderNodeType |
| 渲染 | design-render 组件、controller/state |
| Event | baseEvent、Dependency、页面事件 utils |
| 工具 | 表达式、search hooks、render-plugin-pkg-util |
| 常量 | DesignRenderViewPrefix、data-format |
与 @gct-paas/render-web 的分工
| 层 | 职责 |
|---|---|
| render | 跨端渲染引擎:controller、Event、register.render、_kit |
| render-web | Web 产品实现:BasicPage、card-view 插件、页面事件、app-mqtt |
给后续模型的约束
- 新增渲染 provider →
RenderNodeRegister+ provider 类,类型对齐 schema。 - 套件扩展写入
window._kit,不要替换整个_kit对象。 - 页面事件/表达式逻辑放
Event/,避免在 render-web 重复实现引擎逻辑。 - 重复引入 render 包会警告
register.render已存在。
本地命令
cd packages/render
npm run dev
npm run build # lint + vue-tsc + 双 Vite 构建
Related Packages
@mypaas/paas-dev-tools
The paas-dev command line provides a complete set of commands to develop and pub...
1,930
Version History
| Version | Released | License |
|---|---|---|
| 6.1.2 | MIT | |
| 6.1.1 | MIT | |
| 6.1.0 | MIT |
Pre-releases (143)
| Version | Released | License |
|---|---|---|
| 6.2.0-dev.1 | MIT | |
| 6.2.0-dev.0 | MIT | |
| 6.1.0-fix.0 | MIT | |
| 6.0.3-dev.8 | MIT | |
| 6.0.3-dev.7 | MIT | |
| 6.0.3-dev.6 | MIT | |
| 6.0.3-dev.5 | MIT | |
| 6.0.3-dev.4 | MIT | |
| 6.0.3-dev.3 | MIT | |
| 6.0.3-dev.2 | MIT | |
| 6.0.3-dev.1 | MIT | |
| 6.0.0-test.0 | MIT | |
| 6.0.0-dev.60 | MIT | |
| 6.0.0-dev.59 | MIT | |
| 6.0.0-dev.58 | MIT | |
| 6.0.0-dev.57 | MIT | |
| 6.0.0-dev.56 | MIT | |
| 6.0.0-dev.55 | MIT | |
| 6.0.0-dev.54 | MIT | |
| 6.0.0-dev.53 | MIT | |
| 6.0.0-dev.52 | MIT | |
| 6.0.0-dev.51 | MIT | |
| 6.0.0-dev.50 | MIT | |
| 6.0.0-dev.49 | MIT | |
| 6.0.0-dev.48 | MIT | |
| 6.0.0-dev.47 | MIT | |
| 6.0.0-dev.46 | MIT | |
| 6.0.0-dev.45 | MIT | |
| 6.0.0-dev.44 | MIT | |
| 6.0.0-dev.43 | MIT |
Showing the latest 30 of 143. See every release on npm