插件资源

编辑

这里有一些对开始插件开发有帮助的资源。

一些轻松的阅读

编辑

如果你还没有开始,请先阅读入门。如果你计划将你的插件添加到 Kibana 代码库中,请阅读贡献指南;如果你正在外部构建插件,请阅读外部插件开发。在这两种情况下,都请阅读我们推荐的最佳实践

创建空插件

编辑

你可以使用自动插件生成器来获取新插件的基本结构。不属于 Kibana 代码库的插件应在 plugins 文件夹内开发。如果你正在构建一个要签入 Kibana 代码库的新插件,你需要在几个位置之间选择:

  • x-pack/plugins 用于与订阅功能相关的插件
  • src/plugins 用于与免费功能相关的插件
  • examples 用于开发者示例插件(这些将不包含在可分发版本中)

Elastic UI 框架

编辑

如果你正在开发一个具有用户界面的插件,请查看我们的 Elastic UI 框架。它记录了我们用于构建 Kibana 用户界面的 CSS 和 React 组件。

欢迎使用这些组件,但请注意它们正在快速发展,我们可能会引入破坏性更改,从而扰乱你的插件的 UI。

TypeScript 支持

编辑

我们建议你的插件代码使用 TypeScript 编写。要启用 TypeScript 支持,请在你的插件根目录创建一个 tsconfig.json 文件,如下所示:

{
  // extend Kibana's tsconfig, or use your own settings
  "extends": "../../kibana/tsconfig.json",

  // tell the TypeScript compiler where to find your source files
  "include": [
    "server/**/*",
    "public/**/*"
  ]
}

TypeScript 代码在开发期间会自动转换为 JavaScript,但在 Kibana 的可分发版本中不会。如果你使用 @kbn/plugin-helpers 来构建你的插件,那么你的 .ts.tsx 文件将在你的插件被归档之前被永久转译。如果你有自己的构建过程,请确保在你的源文件上运行 TypeScript 编译器,并提供编译输出,以便你的插件可以与 Kibana 的可分发版本一起工作。

外部开发的插件

编辑

如果你正在 Kibana 代码库之外构建插件,请阅读 外部插件开发