Skip to content

Conversation

ruibaby
Copy link
Member

@ruibaby ruibaby commented Jun 12, 2025

Use Rspack instead of Vite to build frontend assets, leveraging Rspack’s code splitting capabilities to optimize the size of ⁠bundle.js and ⁠bundle.css. Previously, when using Vite, code splitting in the IIFE format was not supported, which caused KaTeX font files to be bundled directly into the CSS as base64, resulting in a very large CSS file. After this PR, KaTeX resources will only be loaded when needed.

before:

❯ ll src/main/resources/console
.rw-r--r-- 279k ryanwang staff 12 Jun 14:13  main.js
.rw-r--r-- 1.5M ryanwang staff 12 Jun 14:13  style.css

after:

❯ ll src/main/resources/console
.rw-r--r-- 6.0k ryanwang staff 12 Jun 14:07  main.js
.rw-r--r--  25k ryanwang staff 12 Jun 14:07  style.css
.rw-r--r-- 9.6k ryanwang staff 12 Jun 14:07  03e9641d6f9e9223.woff2
.rw-r--r--  26k ryanwang staff 12 Jun 14:07  0462f03bdf9d9e26.woff2
.rw-r--r--  12k ryanwang staff 12 Jun 14:07  07ef19e7b06429d4.ttf
.rw-r--r--  11k ryanwang staff 12 Jun 14:07  0750571032beef1a.woff
.rw-r--r--  12k ryanwang staff 12 Jun 14:07  3b1e59b3ba055bda.woff2
.rw-r--r--  64k ryanwang staff 12 Jun 14:07  4aafdb685c2bf1c9.ttf
.rw-r--r--  17k ryanwang staff 12 Jun 14:07  6f2bb1dff24614a5.woff2
.rw-r--r-- 6.0k ryanwang staff 12 Jun 14:07  7a996c9da2ec18e6.woff
.rw-r--r--  14k ryanwang staff 12 Jun 14:07  7c9bc82b17fa2586.woff
.rw-r--r--  13k ryanwang staff 12 Jun 14:07  7c1871215eef4da8.woff
.rw-r--r--  31k ryanwang staff 12 Jun 14:07  7f51fe034014000e.woff
.rw-r--r--  12k ryanwang staff 12 Jun 14:07  8c5b5494b63adb73.woff2
.rw-r--r-- 4.4k ryanwang staff 12 Jun 14:07  9acaf01c6476f53a.woff
.rw-r--r--  13k ryanwang staff 12 Jun 14:07  9f256b8593ce632e.woff
.rw-r--r-- 4.9k ryanwang staff 12 Jun 14:07  10d95fd3a2a3c8c5.woff2
.rw-r--r-- 6.9k ryanwang staff 12 Jun 14:07  55fac25845c12663.woff2
.rw-r--r--  33k ryanwang staff 12 Jun 14:07  70d8b0a530ab8484.ttf
.rw-r--r--  25k ryanwang staff 12 Jun 14:07  94e1e8dc5ff5d517.ttf
.rw-r--r--  16k ryanwang staff 12 Jun 14:07  572d331f69425f62.woff2
.rw-r--r-- 270k ryanwang staff 12 Jun 14:07  595-f1c1b045.js
.rw-r--r-- 1.2k ryanwang staff 12 Jun 14:07  899-f1c1b045.css
.rw-r--r-- 8.4k ryanwang staff 12 Jun 14:07  899-f1c1b045.js
.rw-r--r--  31k ryanwang staff 12 Jun 14:07  939bc64440a13865.ttf
.rw-r--r--  34k ryanwang staff 12 Jun 14:07  1608a09b4aff30c2.woff
.rw-r--r--  19k ryanwang staff 12 Jun 14:07  5295ba483ad9f51a.woff
.rw-r--r-- 5.2k ryanwang staff 12 Jun 14:07  5916a24fa3ab2b17.woff2
.rw-r--r--  20k ryanwang staff 12 Jun 14:07  9024d815ba48fa55.woff
.rw-r--r--  34k ryanwang staff 12 Jun 14:07  47373d1e512354bb.ttf
.rw-r--r--  16k ryanwang staff 12 Jun 14:07  6258592bdc9387b6.woff
.rw-r--r--  17k ryanwang staff 12 Jun 14:07  8916142bec8821e7.woff2
.rw-r--r-- 6.2k ryanwang staff 12 Jun 14:07  577270225ea69a74.woff
.rw-r--r--  12k ryanwang staff 12 Jun 14:07  740484788f643b19.woff
.rw-r--r--  28k ryanwang staff 12 Jun 14:07  a79f1c3119cd700d.woff2
.rw-r--r-- 7.6k ryanwang staff 12 Jun 14:07  a144ef5840bbd063.ttf
.rw-r--r--  31k ryanwang staff 12 Jun 14:07  a879cf8383e22737.ttf
.rw-r--r--  14k ryanwang staff 12 Jun 14:07  a8709e36220dee77.woff2
.rw-r--r--  22k ryanwang staff 12 Jun 14:07  b4c20c84d8259773.ttf
.rw-r--r--  54k ryanwang staff 12 Jun 14:07  b7f8fe9b5f78a977.ttf
.rw-r--r--  20k ryanwang staff 12 Jun 14:07  b18f59e1d1359581.ttf
.rw-r--r--  51k ryanwang staff 12 Jun 14:07  b74a1a8b2c5d73c2.ttf
.rw-r--r-- 3.6k ryanwang staff 12 Jun 14:07  b4230e7e83f57db8.woff2
.rw-r--r-- 7.7k ryanwang staff 12 Jun 14:07  b67709187bb0654a.woff
.rw-r--r--  10k ryanwang staff 12 Jun 14:07  ba21ed5f8468b2b7.woff2
.rw-r--r--  14k ryanwang staff 12 Jun 14:07  bf59d231c34de257.woff
.rw-r--r--  25k ryanwang staff 12 Jun 14:07  c3fb5ac22fd413f2.woff2
.rw-r--r--  12k ryanwang staff 12 Jun 14:07  cce5b8ecea35407a.ttf
.rw-r--r--  11k ryanwang staff 12 Jun 14:07  d3c882a649b3f4fa.woff2
.rw-r--r--  19k ryanwang staff 12 Jun 14:07  d4d7ba480428fe6e.ttf
.rw-r--r--  12k ryanwang staff 12 Jun 14:07  d6b476ecd3949434.ttf
.rw-r--r--  11k ryanwang staff 12 Jun 14:07  d42a5579b0283025.woff2
.rw-r--r--  28k ryanwang staff 12 Jun 14:07  d97aaf4a1ebf38b0.ttf
.rw-r--r--  30k ryanwang staff 12 Jun 14:07  d181c4650dd0c0fe.woff
.rw-r--r-- 7.7k ryanwang staff 12 Jun 14:07  dad44a7fc678e2ca.woff
.rw-r--r-- 6.5k ryanwang staff 12 Jun 14:07  e1e279cbdd2feecd.woff
.rw-r--r--  19k ryanwang staff 12 Jun 14:07  e3f82f9d2724733a.woff
.rw-r--r-- 5.5k ryanwang staff 12 Jun 14:07  eae34984b3dc1874.woff2
.rw-r--r-- 6.9k ryanwang staff 12 Jun 14:07  ec17d132645b2c86.woff2
.rw-r--r--  20k ryanwang staff 12 Jun 14:07  ed38e79f5799ceca.ttf
.rw-r--r--  16k ryanwang staff 12 Jun 14:07  f28c23acad0b6d75.woff2
.rw-r--r--  19k ryanwang staff 12 Jun 14:07  f1035d8d5d945108.woff
.rw-r--r--  12k ryanwang staff 12 Jun 14:07  fabc004aab10cb40.ttf
.rw-r--r--  10k ryanwang staff 12 Jun 14:07  fbccdabe0ae624b8.ttf
.rw-r--r--  17k ryanwang staff 12 Jun 14:07  fe9cbbe1a0f37727.ttf
利用 Rspack 代码分割特性,降低 bundle.js 和 bundle.css 的大小,提升 Console 访问速度。

Signed-off-by: Ryan Wang <i@ryanc.cc>
@f2c-ci-robot f2c-ci-robot bot added the release-note Denotes a PR that will be considered when it comes time to generate release notes. label Jun 12, 2025
@f2c-ci-robot f2c-ci-robot bot requested review from guqing and JohnNiang June 12, 2025 06:14
Copy link

@JohnNiang JohnNiang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@f2c-ci-robot f2c-ci-robot bot added the lgtm Indicates that a PR is ready to be merged. label Jun 12, 2025
Copy link

f2c-ci-robot bot commented Jun 12, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: JohnNiang

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@f2c-ci-robot f2c-ci-robot bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jun 12, 2025
@f2c-ci-robot f2c-ci-robot bot merged commit e8c8364 into main Jun 12, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. release-note Denotes a PR that will be considered when it comes time to generate release notes.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants