Skip to content
本页内容

服务

通常在开发扩展插件 extension 时,我们会需要在本地打开某个指定的表单 form,同时在这个表单中使用正在开发的扩展插件,这样就可以无需每次要将构建的内容 dist 复制到运行 browser 服务器上才能看到真实效果。

准备

在开始前,需要确认你已经得到了一份可以登录运行平台的账号。

这里假设你的账号为:

json
{
  "username": "root",
  "password": "123456"
}
{
  "username": "root",
  "password": "123456"
}

账号

为防止在开发时,账号的登录凭证 access_token 因其他人登录而提前失效,推荐使用个人账号。

在这之后,我们打开项目 co-extension 根目录环境变量配置文件 .env,并配置账号信息:

bash
# .env
VITE_USERNAME=root     # username
VITE_PASSWORD=123456   # password
# .env
VITE_USERNAME=root     # username
VITE_PASSWORD=123456   # password

同时,我们还要再 index.html 中配置运行平台的服务地址,假设为 http://127.0.0.1:5106

html
<!-- index.html -->
<script>
  var CONFIG = {
    API: {
      BASE_URL: 'http://127.0.0.1:5106', // service url
    },
  }
</script>
<!-- index.html -->
<script>
  var CONFIG = {
    API: {
      BASE_URL: 'http://127.0.0.1:5106', // service url
    },
  }
</script>

现在你已经完成了所有事前准备,下一步就来启动本地服务吧!

启动服务

在项目根目录运行 serve 脚本启动:

shell
pnpm run serve
pnpm run serve

通过 vite 我们启动了一个本地服务,并且使用的为 src 目录下的 vue3 工程。

项目启动默认地址为 http://127.0.0.1:5173,在浏览器(推荐使用最新版 chrome)打开该地址,此时我们已经可以看到启动主页 Co Extension Playground 了。

打开表单

当然,我们不会规定用户必须在特定表单中才能开发,所以我们需要配置 playground 打开你需要的表单。

这一步,我们打开 /src/components/set-form/index.vue 组件,在其中我们使用了 CoRenderCtor 渲染器,它能够将指定表单等渲染到指定位置。

onMounted 钩子中编写:

ts
// 在 onMounted 生命周期后执行,确保能获取 root 节点
onMounted(() => {
  if (root.value) {
    window.CoRenderCtor.of().init(root.value).setForm({
      name: 'extension-playground', // 表单名称
      busi: 0, // 业务编号
    })
  }
})
// 在 onMounted 生命周期后执行,确保能获取 root 节点
onMounted(() => {
  if (root.value) {
    window.CoRenderCtor.of().init(root.value).setForm({
      name: 'extension-playground', // 表单名称
      busi: 0, // 业务编号
    })
  }
})
使用 CoRenderCtor 打开指定表单

再切回浏览器,可以看到表单 extension-playground 已经打开。

在本章节中,我们成功在本地打开了表单并加载了扩展插件,但是现在的扩展插件并不支持热加载(HMR),即每次修改了扩展插件必须重新运行 build:extensions 才能看到更新后的效果,这十分的繁琐,下一章节我们将说明一种 dev 脚本来解决这个问题。

Powerd by Vitepress.