● fix: 修复 Vite 8 前端编译及运行时错误

- main.js: 修复 createApp/mount 缺失导致 app 未定义
  - chineseMedicineDialog: defineModel → props+emit 兼容 Vue 3.5
  - el-form-nan-plugin: 修正 try/catch 括号匹配
  - vite.config: CSS 压缩器切换为 esbuild
This commit is contained in:
wangjian963
2026-06-03 13:09:04 +08:00
parent 207516ee86
commit 7ca0b89cb2
4 changed files with 21 additions and 10 deletions

View File

@@ -20,9 +20,11 @@ export default function patchElFormNan() {
.replace('const updateLabelWidth = (action = \"update\") => {',
'let _isMounted = true;\n\tconst updateLabelWidth = (action = \"update\") => {')
.replace('nextTick(() => {',
'nextTick(() => {\n\t\t\t\tif (!_isMounted) return;\n\t\t\t\ttry {')
'nextTick(() => {\n\t\t\t\tif (!_isMounted) return;')
.replace('if (slots.default && props.isAutoWidth) {',
'try {\n\t\t\t\tif (slots.default && props.isAutoWidth) {')
.replace('else if (action === \"remove\") formContext?.deregisterLabelWidth(computedWidth.value);',
'else if (action === \"remove\") formContext?.deregisterLabelWidth(computedWidth.value);\n\t\t\t\t} catch (e) { /* teardown race */ }')
'else if (action === \"remove\") formContext?.deregisterLabelWidth(computedWidth.value);\n\t\t\t\t}\n\t\t\t} catch (e) { /* teardown race */ }')
.replace('onBeforeUnmount(() => {', 'onBeforeUnmount(() => {\n\t\t\t_isMounted = false;')
.replace('onUpdated(() => updateLabelWidthFn())', 'onUpdated(() => { if (_isMounted) updateLabelWidthFn(); })')
.replace('if (props.updateAll) formContext?.registerLabelWidth(val, oldVal);',