Ryan Wang's Blog

Ryan Wang

  • Ryan Wang

    以前的我:我不接受 AI 改我的代码,我的代码只能我自己掌控!

    现在的我:“左边按钮改成保存”,“切分支,提交 PR”

    吐槽 开发日常

    0
    2026-05-18
  • Ryan Wang

    有点不妙了

    开发日常

    0
    2026-05-13
  • Ryan Wang
    0
    2026-03-19
  • Ryan Wang
    0
    2025-12-10
  • Ryan Wang

    某平台又在对比 React 和 Vue 了,我不太理解这种对比甚至踩一捧一有什么意义。

    在 Halo 这几年的开发中,我也写了不少前端代码,但从未一股脑只用单一框架。每个框架在不同使用场景下都有各自的优势和劣势。

    • Vue:从 Halo 1.0 开始就在控制台使用,简单易上手,生态够用。但早期 VSCode 插件问题太多,严重影响开发体验。不过最近的 3.x 版本已经非常不错了。

    • React / Preact:Halo 官网的应用市场部分在用,不排斥 JSX,相比于 Vue 的 SFC,JSX 对我来说最大的优势就是一个文件可以写多个 React 组件。

    • Lit:用来为 Halo 插件编写 Web 组件。因为 Halo 的前台是纯后端渲染,针对部分需要交互的界面,Web 组件几乎是最好的选择,而 Lit 正是专门的 Web Component 框架。

    • Svelte:最近才开始接触,也用来写 Web 组件。相比 Lit,Svelte 对 CSS 和 CSS 框架支持更好,模板语法也更友好,后续写 Web 组件可能会优先选择 Svelte。

    还有构建工具:

    • Vite:从 Halo 2 开始就在用,相比于原来的 Webpack / Vue CLI 更容易配置,很多东西都已经开箱即用,不过早期的生产/开发不一致的问题也踩了不少坑,最近 Rolldown Vite 一发布 Beta 就用上了,非常不错。

    • Rsbuild:最近才用上,用于构建 Halo 插件的 UI 部分。之前插件 UI 采用 IIFE 格式加载,导致大型插件的 Bundle 体积过大,影响页面加载速度。而 Vite 不支持 IIFE 格式的代码分割,所以切换到 Rsbuild / Rspack。具体可查阅:《使用 Rspack 构建 Halo 插件的前端部分

    所以总结下来就是,不同框架有不同的优劣,针对场景选择合适的即可,不存在用了一个框架就要完全排斥另一个框架,甚至用出优越感的情况。

    开发日常

    0
    2025-11-15
  • Ryan Wang

    前端大一统时刻要来了?

    https://viteplus.dev

    开发日常

    0
    2025-10-12
  • Ryan Wang

    新的代码高亮插件,基于 https://shiki.style/

    https://www.halo.run/store/apps/app-kzloktzn
    import UnocssVitePlugin from "unocss/vite";
    import { defineConfig } from "vite";
    export default defineConfig({
      plugins: [
    // [!code hl:4]
        UnocssVitePlugin({
          configFile: "./uno.config.ts",
          mode: "shadow-dom",
        }),
      ],
    });
    import { defineConfig, presetIcons, presetWind3, presetWind4 } from "unocss";
    
    export default defineConfig({
    // [!code --]
      presets: [presetWind3(), presetIcons()],
    // [!code ++]
      presets: [presetWind4(), presetIcons()],
    });
    import { defineConfig } from "vite";
    export default defineConfig({
      build: {
    // [!code focus:6]
        lib: {
          entry: "./src/index.ts",
          name: "shiki-code",
          fileName: `shiki-code`,
          formats: ["es"],
        },
      },
    });

    开发日常

    0
    2025-09-25
  • Ryan Wang

    Halo AI 助手支持了 RAG 智能问答功能!

    • 内置向量库,无需额外部署。

    • 与 Halo 深度结合,支持为文章和 Docsme 文档创建知识库。

    • 支持权限控制,用于控制用户是否能使用智能问答。

    • 支持覆盖传统搜索弹窗、支持页面悬浮气泡,支持在文章或者页面中嵌入聊天框。

    https://www.halo.run/store/apps/app-riNgb/releases/app-release-zp2sylnn

    开发日常

    0
    2025-09-10
  • Ryan Wang

    快来试试新的评论框。

    开发日常

    1
    2025-08-14
  • Ryan Wang

    Biome.js 要开始支持 Vue 了!

    https://github.com/biomejs/biome/issues/6657

    Rust 重构世界!

    开发日常

    2
    2025-07-02