perf: skulpt 改为按需加载,client-zip 换成 fflate
skulpt 此前被 SubmitCode.vue 静态引用,945K 的 chunk 落在做题页首屏, 学生打开任何一道题都要下 233KB gzip,只为提交时拿一个语法错误行号。 改成 import() 懒加载并在语言切到 Python3 时预取,加载失败放行提交、 交给后端判题兜底。构建产物确认该 chunk 只剩一处 import() 引用, index.html 不再引用。 client-zip 的能力 fflate 已经覆盖(utils/functions.ts 本就在用 zlibSync), 新增 createZipBlob 统一两处测试用例打包,删掉该依赖。压缩方式由 store 变为 deflate,Python zipfile 透明解压,后端不受影响。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -28,7 +28,6 @@
|
||||
"canvas-confetti": "^1.9.4",
|
||||
"chart.js": "^4.5.1",
|
||||
"chartjs-chart-wordcloud": "^4.4.5",
|
||||
"client-zip": "^2.5.0",
|
||||
"codemirror": "^6.0.2",
|
||||
"copy-text-to-clipboard": "^3.2.2",
|
||||
"date-fns": "^4.4.0",
|
||||
|
||||
Reference in New Issue
Block a user