1+ // 此处configureSerializer必须在所有代码的最开头
2+ // 否则@serializable装饰器无法获取正确的类名
3+ import { configureSerializer } from "@graphif/serializer" ;
4+ import { getOriginalNameOf } from "virtual:original-class-name" ;
5+ configureSerializer ( getOriginalNameOf ) ;
6+
17import { runCli } from "@/cli" ;
28import { Toaster } from "@/components/ui/sonner" ;
39import { UserScriptsManager } from "@/core/plugin/UserScriptsManager" ;
@@ -12,19 +18,16 @@ import { EdgeCollisionBoxGetter } from "@/core/stage/stageObject/association/Edg
1218import { store } from "@/state" ;
1319import { exit , writeStderr } from "@/utils/otherApi" ;
1420import { getCurrentWindow , isDesktop , isMobile , isWeb } from "@/utils/platform" ;
15- import { configureSerializer } from "@graphif/serializer" ;
1621import { getMatches } from "@tauri-apps/plugin-cli" ;
1722import "driver.js/dist/driver.css" ;
1823import i18next from "i18next" ;
1924import { Provider } from "jotai" ;
2025import { createRoot } from "react-dom/client" ;
2126import { initReactI18next } from "react-i18next" ;
2227import VConsole from "vconsole" ;
23- import { getOriginalNameOf } from "virtual:original-class-name" ;
2428import App from "./App" ;
2529import "./css/index.css" ;
2630
27- configureSerializer ( getOriginalNameOf ) ;
2831if ( import . meta. env . DEV && isMobile ) {
2932 new VConsole ( ) ;
3033}
@@ -35,8 +38,6 @@ const el = document.getElementById("root")!;
3538// 在这里看着清爽一些,像一个列表清单一样。也方便调整顺序
3639
3740( async ( ) => {
38- configureSerializer ( getOriginalNameOf ) ;
39-
4041 const matches = ! isWeb && isDesktop ? await getMatches ( ) : null ;
4142 const isCliMode = isDesktop && matches ?. args . output ?. occurrences === 1 ;
4243 await Promise . all ( [
0 commit comments