参考错误:无法使用Vue访问Safari上未初始化的变量

ih99xse1  于 2022-12-14  发布在  Vue.js
关注(0)|答案(1)|浏览(265)

我一直收到一个令我困惑的错误。错误是ReferenceError: Cannot access uninitialized variable.,并且引用了const app = createApp(App)行:
第一个
我盯着这个看了很长时间,看起来我所有的变量都被正确初始化了。看我的日志,这个错误似乎只发生在Safari(移动的和桌面)上。我不知道这是不是与Vue有关。我使用的是Vue3.1.4。

bwleehnv

bwleehnv1#

在我的例子中,问题是将createApp的输出分配给一个导出的变量,然后在另一个.ts文件中导入和使用它。
避免此错误的解决方法是用途:

import { vueApp } from "./main";
const getVueApp = () => ((window as any).app as typeof vueApp);

在之前创建应用程序后,如下所示:

const app = createApp(App);
(window as any).app = app;

然后,您可以调用类似getVueApp().$nextTick的代码,而不会出现任何问题。
如果不使用TypeScript,您可以直接引用window.app,导入和函数 Package 器只是为了获得正确的类型推断!

相关问题