侧边栏壁纸
博主头像
爱探索

行动起来,活在当下

  • 累计撰写 42 篇文章
  • 累计创建 11 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

halo-2-本地编译

jelly
2024-07-16 / 0 评论 / 0 点赞 / 62 阅读 / 0 字

halo本地编译

1. 准备

1.1. 准备halo源码

从gitee上获取项目源码

1.2. 准备node

node.js

1.3 准备gradle

查看当前使用的gradle版本

打开gradle/wrapper/gradle-wrapper.properties

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip # 重点这一行
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

可以看到当前项目使用的版本是gradle-8.8-bin.zip

下载gradle(如果本地已存在则可以忽略)国内gradle镜像

...
gradle-8.7-rc-4-docs.zip                           21-Mar-2024 00:10            84425900
gradle-8.7-rc-4-src.zip                            21-Mar-2024 00:10            58214822
gradle-8.7-src.zip                                 23-Mar-2024 12:10            58411387
gradle-8.8-all.zip                                 01-Jun-2024 12:11           230671453
gradle-8.8-bin.zip                                 01-Jun-2024 12:11           138039528
gradle-8.8-docs.zip                                01-Jun-2024 12:11            86344462
gradle-8.8-rc-1-all.zip                            27-Apr-2024 12:10           230576092
gradle-8.8-rc-1-bin.zip                            27-Apr-2024 12:10           138010862
gradle-8.8-rc-1-docs.zip                           27-Apr-2024 12:10            86197579
...

下载可以需要的版本,注意名字后缀要完全一致

产看当前idea的gradle位置 File >Settings > Build, Execution, Deployment > Build Tools >Gradle

idea配置gradle位置

gradle user home 就是gradle配置的路径。我这里是linux路径,win类似


jelly@jelly-linux:~/.gradle/wrapper/dists$ ls
CACHEDIR.TAG    gradle-1.9-all  gradle-4.8-bin  gradle-7.0.2-bin  gradle-7.4-bin  gradle-8.0-bin  gradle-8.8-bin
gradle-1.6-bin  gradle-3.3-bin  gradle-6.4-all  gradle-7.4.2-bin  gradle-7.5-all  gradle-8.7-bin
jelly@jelly-linux:~/.gradle/wrapper/dists/gradle-8.8-bin$ ls # 如果没有这个目录则可以先使用idea打开项目编译,让idea自动下载gradle时创建这个目录,然后暂停编译
dl7vupf4psengwqhwktix4v1
jelly@jelly-linux:~/.gradle/wrapper/dists/gradle-8.8-bin/dl7vupf4psengwqhwktix4v1$ ls # 将下载的安装包放在这个目录下,不要改名,不要解压,(如果目录中有gradle-8.8-bin.zip.lck  gradle-8.8-bin.zip.ok 需要先删除)
gradle-8.8  gradle-8.8-bin.zip.lck  gradle-8.8-bin.zip.ok

# 放好后重新编译,idea会自定解压

2. 编译后端代码并启动

haloAoolicatuon-setting

active profile 中添加dev,win

点击启动按钮


    __  __      __
   / / / /___ _/ /___
  / /_/ / __ `/ / __ \
 / __  / /_/ / / /_/ /
/_/ /_/\__,_/_/\____/

Version: 

2.1. 注意端口配置

这里启动的是dev环境所以在/home/jelly/JavaProject/halo/application/src/main/resources/application-dev.yaml 中查看端口配置


# 主要看其中这一段代码

halo:
  console:
    proxy:
      endpoint: http://localhost:3000/ 
      enabled: true
  uc:
    proxy:
      endpoint: http://localhost:4000/
      enabled: true
  plugin:
    runtime-mode: development # development, deployment
  work-dir: ${user.home}/halo2-dev

# 这里endpoint 需要根据前端配置

# 由于这里我前端也会部署在本地所以localhost不变,3000,4000与前端中配置保持一致即可如果不同修改前端或者在这里修改都可以

3. 编译启动后端

在终端中进入ui目录中

查看端口配置

//ui/vite.config.ts
export default ({ mode }: { mode: string }) => {
  return createViteConfig({
    base: "/console/",
    entryFile: "/console-src/main.ts",
    port: 3000,
    outDir: path.resolve("build/dist/console"),
    mode,
    plugins: [
      VueI18nPlugin({
        include: [path.resolve(__dirname, "./src/locales/*.yaml")],
      }) as Plugin,
    ],
  });
};

//这个port需要中上面application-dev中console下endpoint端口一致

//ui/vite.uc.config.ts
export default ({ mode }: { mode: string }) => {
  return createViteConfig({
    base: "/uc/",
    entryFile: "/uc-src/main.ts",
    port: 4000,
    outDir: path.resolve("build/dist/uc"),
    mode,
    plugins: [
      VueI18nPlugin({
        include: [path.resolve(__dirname, "./src/locales/*.yaml")],
      }) as Plugin,
    ],
  });
};

//这个port需要中上面application-dev中uc下endpoint端口一致

编译启动

# 这里使用linux演示,win相同
# 设置淘宝镜像
npm config set registry https://registry.npmmirror.com
npm install -g pnpm
pnpm install 
pnpm build:packages
pnpm dev

#使用pnmp dev启动后,访问http://localhost:8090/console即可看到后台页面


注意:有时启动后端口和配置的不一样吗,可能是端口被占用导致自动使用了别的端口,所以请注意启动后日志中端口是否正确。

0

评论区