NPM 包 create-cerebro-plugin 使用教程

阅读时长 5 分钟读完

引言

Cerebro 是一款强大的 Mac 系统搜索工具,他允许开发者为其编写插件,扩展其功能。使用 Cerebro 插件可以提高开发效率和使用体验,但是繁琐的插件开发体验令很多开发者望而却步。而 create-cerebro-plugin 这个 NPM 包的出现,大大简化了 Cerebro 插件的创造过程,使得开发者能够更容易的构建插件,从而提高开发效率。

什么是 create-cerebro-plugin?

create-cerebro-plugin 是为 Cerebro 提供简单开发体验的 NPM 包。通过运行一个简单的命令,开发者可以快速构建一个 Cerebro 插件所需的基本文件结构,然后根据自己的需求进行扩展。如果你曾经开发过 npm 包或者 React 组件,你将会感到非常熟悉。

安装 create-cerebro-plugin

为了使用 create-cerebro-plugin,我们必须使用 NPM 进行安装。在终端中运行以下命令:

这将会在全局安装它,允许你在创建新的 Cerebro 插件时使用 create-cerebro-plugin 命令。

使用 create-cerebro-plugin

create-cerebro-plugin 提供的命令非常简单。运行以下命令:

此时,create-cerebro-plugin 会为你自动生成一些基本文件,这些文件包括:

  • index.js - 可调用插件的插件逻辑。
  • package.json - NPM 包的元数据,名称、描述、依赖项等。
  • README.md - 插件使用说明的文档。
  • icon.png - 插件在 Cerebro 中显示的小图标。
  • screenshot.png - 插件在 Cerebro 中显示的截图。

现在你可以开始编写你的插件代码。例如,你可以打开 my-plugin/index.js 文件并添加以下代码:

-- -------------------- ---- -------
----- ------------- - --------------------------

-------------- - ----- -------- ------- ------------- -
  -------------------- -
    ---------------
  -

  -- - ----- --- -------- ----
  ------------------------- -- -------- -
    -- ------ --- ----------- -
      -- --------
      ------ --
        --- -----------
        ------ --- --------
        --------- ------ ----- -- ------ --- --------
        ----- -----------
        -- ----- ----
        --------- -- -- ------------------------------------
      ---
    -
  -
--

这段代码定义了一个名为 MyPlugin 的新类,该类扩展自 CerebroPlugin 类。我们覆盖了父类中的一个方法 getMatchingEntries,这个方法用于定义当用户在输入框中输入关键字时,生成的搜索结果。在我们的示例中,我们检查用户是否输入了 "myplugin",如果是,则返回一个包含 "myplugin" 项目的搜索结果对象,它将显示插件名称和图标,并在用户按下 enter 键时打开 http://myplugin.com。

最后,重新启动 Cerebro,你将会看到你刚刚创建的插件出现在搜索结果中。当你在 Cerebro 的输入框中输入 "myplugin" 并按下 enter 键时,你应该会看到浏览器打开 http://myplugin.com。

总结

create-cerebro-plugin 是一个方便的工具,可以大大简化 Cerebro 插件开发的过程。同时由于它充分利用了 npm 包管理、及 React 组件化的设计理念,因此也使得非常容易在 Cerebro 中创建如何 react 组件。希望通过这篇文章可以帮助读者快速上手基础的 Cerebro 插件开发。

示例代码

我的 Myplugin 插件,欢迎大家贡献。

-- -------------------- ---- -------
----- ------------- - --------------------------

-------------- - ----- -------- ------- ------------- -
  -------------------- -
    ---------------
  -

  -- - ----- --- -------- ----
  ------------------------- -- -------- -
    -- ------ --- ----------- -
      -- --------
      ------ --
        --- -----------
        ------ --- --------
        --------- ------ ----- -- ------ --- --------
        ----- -----------
        -- ----- ----
        --------- -- -- ------------------------------------
      ---
    -
  -
--

参考文献

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005664681e8991b448e259f

纠错
反馈