插件资源编辑

以下是一些有助于您开始插件开发的资源。

一些简要阅读编辑

如果您还没有,请从 入门 开始。如果您计划将您的插件添加到 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 仓库之外构建插件,请阅读 外部插件开发