侧边栏壁纸
博主头像
一朵云的博客博主等级

拥抱生活,向阳而生。

  • 累计撰写 68 篇文章
  • 累计创建 25 个标签
  • 累计收到 7 条评论

目 录CONTENT

文章目录

Halo开发环境搭建

一朵云
2024-03-18 / 0 评论 / 0 点赞 / 109 阅读 / 10061 字

Halo 开发环境搭建

前言

​ ​ 最近几个月,之前基于 Halo 1.6 版本搭建的博客,频繁收到腾讯云的报警通知,被告知出现了资源访问异常,404。

​ ​ 最近闲暇之余逛了下自个的博客,也发现网站加载缓慢问题,f12一看,部分资源甚至加载了1分多钟,实在太影响体验了,优化,必须狠狠的优化!

​ ​ 上 halo官网 逛了下,发现版本都迭代到 v2.13 了,1.x 不再维护了。那我考虑了下,不如顺带升级halo最新版本,毕竟官网说优化了不少,指不定博客资源加载慢问题就解决了。

​ ​ 一波操作猛如虎,过了几个小时后,基于 halo 2.13 + theme-Joe3 主题的博客就搭建好了,网站访问速度已经恢复正常。一波体验下来,感觉Halo 2.x版本改变挺大的,特别是插拔式组件模式。

​ ​ 经了解,Halo是基于 Java 的开源项目,由 Gradle 管理依赖,Thymeleaf 作为默认模板引擎,插件是使用 Java 和 JavaScript / TypeScript 编写的,UI 使用 Vuejs 编写。乍眼一看,好像都了解过,那更值得抽空部署研究研究了,最终记录了这篇博文。

一、Halo 后端部署

  • OpenJDK 17 LTS:

    https://download.oracle.com/java/17/archive/jdk-17.0.10_windows-x64_bin.zip

  • Node.js 18 LTS:

    https://nodejs.org/dist/v18.9.1/node-v18.9.1-x64.msi

  • pnpm 8

    npm install -g pnpm

  • Gradle 8.4:

    https://gradle.org/next-steps/?version=8.4&format=all

1、安装 JDK 17

​ ​ ①、将资源解压到本机相关目录,以我本机举例:

image-nvkx.png

​ ​ ②、配置环境变量

​ ​ 配置JAVA_HOME,方便后续修改路径。

image-uznr.png

​ ​ 在 Path 变量中添加一行。

%JAVA_HOME%\bin

​ ​ ③、测试验证

image-gokk.png

2、安装 Node.js 18

​ ​ ①、双击安装 .msi 安装程序包

双击运行后,程序会自动配置环境变量。

​ ​ ②、测试

image-vvwd.png

3、安装pnpm 8

​ ​ ①、直接基于npm 安装最新的版本即可。

npm install -g pnpm

pnpm -v

image-ptzs.png

​ ​ ②、查看源

pnpm config get registry

image-vacm.png

​ ​ ③、修改源为阿里源

pnpm config set registry 
https://registry.npmmirror.com/

4、安装 Gradle 8.4

​ ​ ①、将资源解压并放置对应目录,如

image-praa.png

​ ​ ②、配置环境变量

image-atkz.png

​ ​ Path下配置:

image-bwva.png

​ ​ ③、测试

gradle -v

image-ogfl.png

​ ​ ④、配置下载源

​ ​ 由于Gradle自带Maven下载源是国外的,在后续下载依赖的过程中会比较慢。这里我们需要将下载源换成国内镜像。

​ ​ init.d目录下新建 init.gradle 文件,并输入:

allprojects {
    repositories { 
        mavenLocal() 
        maven { name "Alibaba" ; url "https://maven.aliyun.com/repository/public" } 
        maven { name "Bstek" ; url "https://nexus.bsdn.org/content/groups/public/" } 
        mavenCentral()
    }
    buildscript {
        repositories { 
            maven { name "Alibaba" ; url 'https://maven.aliyun.com/repository/public' } 
            maven { name "Bstek" ; url 'https://nexus.bsdn.org/content/groups/public/' } 
            maven { name "M2" ; url 'https://plugins.gradle.org/m2/' }
        }
    }
}

​ ​ ⑤、配置gradle资源仓库

​ ​ 新建文件夹,并配置进环境变量,作为gradle仓库。

image-pdry.png

5、启动后端项目

​ ​ ①、foke halo 代码至自己的仓库

https://github.com/CloudAdmirer/halo.git

​ ​ ②、使用idea拉取代码

image-hwvw.png

​ ​ ③、暂停下载 gradle,配置自个的。

image-qkyt.png

image-qgzt.png

image-pzhq.png

配置好后,让其下载项目依赖。

​ ​ ④、配置运行环境

image-wcpu.png

​ ​ ⑤、配置开发参数

image-dkef.png

​ ​ ⑥、解决报错

点击Shorten the command line and rerun 即可。

image-jbtu.png

后端项目启动成功:

image-fbbk.png

6、启动前端项目

从 Halo 2.11 开始,Halo 项目的 console 目录同时包含了 Console(管理控制台)和 UC(个人中心)

​ ​ ①、进入项目目录

cd D:\\demo\\halo\\ui\\console-src

​ ​ ②、pnpm install

image-klok.png

​ ​ ③、pnpm build:packages

image-girc.png

​ ​ ④、pnpm dev

image-tnby.png

​ ​ ⑤、测试访问

image-peym.png

image-urko.png

image-yspv.png

二、Halo 插件部署

官方地址:https://docs.halo.run/developer-guide/plugin/introduction

1、fork 仓库

https://github.com/halo-dev/plugin-starter

到自己的仓库

https://github.com/CloudAdmirer/plugin-starter.git

2、修改配置文件

gradle-wrapper.properties、gradle.properties

D:\halo\plugin\plugin-starter\gradle\wrapper\gradle-wrapper.properties

distributionUrl=file\:///D:/soft/Gradle/gradle-8.0-all.zip

image-lirh.png

3、修改jdk、gradle依赖

image-zhsn.png

image-veoz.png

4、修改gradle.properties

D:\halo\plugin\plugin-starter\gradle.properties

org.gradle.java.home=C:/Program Files/Java/jdk-17.0.10

image-lwhr.png

如果不修改此项,指定jdk版本,可能出现

image-tbwk.png

5、 ./gradlew.bat pnpmInstall

image-ieov.png

6、./gradlew.bat build

image-dfdk.png

7、添加application-local.yaml

添加application-local.yaml

D:\demo\halo\application\src\main\resources\application-local.yaml

halo:
  plugin:
    runtime-mode: development
    fixed-plugin-path:
      # 配置为插件项目目录绝对路径
      - D:\halo\plugin\plugin-starter

image-vcvx.png

8、启动参数添加:

dev,win,local

image-iwyz.png

9、测试访问

访问地址:http://localhost:8090/console/example

image-oxps.png

三、Halo 主题部署

官方地址:https://docs.halo.run/developer-guide/theme/prepare

暂无实践部署经验,仅有拉取代码下来部署的经验。

bug记录:出现导入本地主题报错。

image-lmge.png

后端服务报错

image-upjc.png

去论坛查询得知:

image-teug.png

0

评论区