侧边栏壁纸
博主头像
樯哥的技术分享网博主等级

学无止境,学以致用,志存高远。

  • 累计撰写 17 篇文章
  • 累计创建 10 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

halo插件开发——环境搭建

随心
2023-11-11 / 0 评论 / 0 点赞 / 167 阅读 / 3857 字

这是开发halo插件系列教程的第一篇文章,本文主要是帮助大家把项目跑起来。不建议Java初学者阅读本文,因为Java初学者研究如何开发halo插件纯属浪费青春,此系列教程也不会介绍太多关于Java本身的一些东西。对于官方文档已经描述很清楚的东西,也不会过多阐述。

搭建环境

我们需要搭建Java环境和nodejs环境。Java环境可以通过IDEA下载jdk,建议下载17以上版本。nodejs官方目前建议下载18LTS版本,我个人建议下载最新LTS版本。halo博客的所有技术栈都是开源项目中较新的技术栈,因此千万别用老古董版本,否则莫名其妙报错。至于halo项目使用到的gradle,暂时可以省略,因为idea会自动下载使用包装器内的gradle版本。只不过这个时间可能很长,一般来说,环境问题可能会花费一个小时左右。

拉取项目

总共需要拉取两个项目,一个是halo的官方源码,一个是官方提供的插件模板plugin-starter。至于如何拉取项目源码,相信任何一个只要不是初学编程的人都应该清楚。

建议使用IDEA直接从git拉取项目,而不是手动拉取再用idea打开,简单省事。

安装依赖

idea打开之后,点击右侧的gradle图标,如下图:

可以点击上图的循环图标,进行重新加载依赖。也可以右键halo,也会看见重新加载项目之类的菜单。注意:很多人可能下载依赖会失败,建议百度研究一下gradle如何配置国内镜像源,这里不再介绍。上面这部分是属于后端的只是,关于gradle的问题,可以问问身边搞安卓开发的朋友,他们更靠谱。

我们需要对刚才拉取的两个项目都下载好依赖,同时,我们需要给这两个项目的页面下载依赖。这里属于前端知识,建议多问问前端朋友。我们打开cmd窗口,目录切换到项目下的console目录。使用pnpm install进行安装依赖。注意:这里不要自以为是的使用npm或者yarn等其他包管理工具进行安装依赖。这些坑我都踩过了,可能莫名其妙的报错,建议少走弯路。这里需要提前安装pnpm包管理工具。建议全局安装:npm install -g pnpm。两个项目下都有console目录,都需要安装依赖。依赖安装完后,halo项目的console目录还需要运行如下命令:pnpm build:packages,这里别忘了。

上面一共进行了两个操作,一个是安装前端依赖,一个是安装后端依赖。当两个步骤都成功完成之后,我们就可以构建插件运行了。

打包插件

这个步骤我们可以参考官方文档中的运行插件这一节。我们同样使用cmd,切换目录到插件项目最顶层目录,使用如下命令:

./gradlew pnpmInstall
./gradlew build 

打包完成后,我们在halo项目中的application.yaml文件所在目录中创建一个名为application-local.yaml的文件,初学者这里的文件名别乱用其他的。文件内容如下:

halo:
  plugin:
    runtime-mode: development
    fixed-plugin-path:
      # 配置为插件绝对路径,也就是插件源码所处的路径,不是打包后的target路径
      - D:\Documents\Java\IdeaProjects\plugin-starter

然后修改启动设置,一定要注意我圈出来的地方:

然后启动halo项目,至于如何启动不会不知道吧?然后cmd切换到halo项目中的console目录下,运行pnpm dev启动halo的后台页面项目。我相信很多人都会自以为是的打开浏览器访问http://localhost:3000,这里建议别浪费时间尝试,因为你用不了。halo系统有针对这个前端页面的代理,因此我们正确的访问地址是:http://localhost:8090/console

我们初始化用户信息后,登录后台,可以看见多了这么一个页面:

后续

当我们修改插件之后,插件需要重新打包,然后重启halo。也可以请求 localhost:8090/apis/api.console.halo.run/v1alpha1/plugins/{name}/reload 重新加载插件。

到这里,我们就是掌握了基础的环境搭建以及运行步骤,下一篇文章开始正式讲解如何编写插件。

0

评论区