开始入门
准备
开始前,我们需要准备本地开发环境。
提示
Windows 环境下需要将
yarn global bin命令输出的目录添加到Path环境变量。操作方式参考 https://jingyan.baidu.com/article/8ebacdf02d3c2949f65cd5d0.html
创建一个新的 Git 仓库
对于客户私有定制的构件及小产品(通常由项目研发、交付团队等负责)应按客户或团队新建 Git 仓库,为此我们提供了两种快速生成 Brick Next 仓库的工具。
使用 GitHub Template Repository
如果你打算将你的新仓库直接托管在 GitHub 上,我们提供了一个模板仓库 https://github.com/easyops-cn/next-template-repo,只需点击界面上的 Use this template 即可初始化一个新的 Brick Next 仓库。
初始化后,你需要按照 README.md 的提示一次性批量修改部分文件中的仓库名等内容。
使用 Create-Next-Repo
如果你打算将你的新仓库托管在内网(例如自己搭建的 GitLab),我们提供了一个 CLI 工具 @next-core/create-next-repo 来一键生成 Brick Next 仓库。
请执行如下命令创建一个新的仓库:
# 创建 Brick Next 仓库,my-repo 为新仓库的名称
npx @next-core/create-next-repo@latest my-repo
# 如果 npx 提示 `OK to proceed? (y)` 请输入 y 或直接点击回车键
cd my-repo
yarn
提示
由于该工具将从 GitHub 下载样板仓库,因此可能需要你先开启上网代理。
创建一个新的微应用
- 运行
yarn yo - 选择
a new package of micro-apps - 输入小产品的 ID,例如
hello-world
一个新的微应用就已经建好。接下来定义它的 storyboard.json。
提示
新建的微应用在目录
./micro-apps/*下,*为小产品的 ID,如hello-world。
{
"routes": [
{
"path": "/hello-world",
"bricks": [
{
"brick": "div",
"properties": {
"textContent": "Hello world",
"style": {
"padding": "32px"
}
}
}
]
}
]
}
提示
记得吗?我们的构件就是包括 Custom Element 在内的标准的
HTMLElement,由于我们还没有创建自定义构件,这里我们可以直接使用原生 HTML 元素。
我们定义了一个路由信息,它:
- 匹配 URL 路径
/hello-world。 - 渲染的构件为
div。 - 为构件设置了几项属性:
textContent和style。
在项目一级目录执行 yarn serve --auto-remote --server YOUR-EASYOPS-SERVER-ADDRESS
提示
YOUR-EASYOPS-SERVER-ADDRESS 为安装了 easyops 平台的机器的域名或 ip ,如果是集群部署,则为部署了
api-gateway的那台机器的 ip这个命令表示你直接使用 easyops 平台已安装的所有 micro-apps 和 bricks,除了
hello-world
--auto-remote会自动识别本地的 micro-app 或 brick,也可以手动指定--remote --local-micro-apps=hello-world
在浏览器中输入 http://localhost:8081/hello-world 去看看效果吧。
我们再试一下修改 Storyboard 的配置,将 brick 的值设置为 button,将 padding 更名为 margin,保存后浏览器就会自动刷新并按新的配置显示。
提示
在开发环境中,对
storyboard.json的修改将触发浏览器刷新,新的配置将立即生效。
试着从构件库找一个内置构件看看效果。
{
"routes": [
{
"path": "/hello-world",
"bricks": [
{
"brick": "div",
"properties": {
"textContent": "Hello world",
"style": {
"padding": "32px"
}
}
},
{
"template": "cmdb-instances.instance-list",
"params": {
"objectId": "HOST"
}
}
]
}
]
}
没错,你会发现基于优维平台去定制化自己所需页面是如此简单。下来将以一个经典例子来讲解编排相关的配置,如路由、菜单、参数等。点击进入编排详解。
更新 next-repo 的框架代码
next-repo 我们一直在不断的更新,以提供更好更方便的框架能力,在 Brick-Next 相关仓库中执行 yarn renew 即可自动更新框架相关依赖(并可能自动执行一些代码修订操作)。