vue.js - 窗口未定义 Vite Vitesse

标签 vue.js vuejs3 vite

我在尝试构建我的应用程序时遇到问题。在开发模式下运行时,它运行完美,但是当我构建它时,它给出了 window is not defined

enter image description here

export function socketConnect (): SocketI {
  if (typeof window.gqlsocket === 'undefined') {
    const socket = initializeSocket()
    window.gqlsocket = socket
    return socket
  } else {
    return window.gqlsocket
  }
}

export function socketDisconnect (): void {
  if (typeof window.gqlsocket !== 'undefined') {
    window.gqlsocket.disconnect(() => (window.gqlsocket = undefined))
  }
}

const client = createClient({...})

export const install: ModuleInstall = ({ app, isClient }) => {
  if (!isClient) return

  app.use(urql, client)
}

最佳答案

添加到index.html:

<div id="app"></div>
<script type="module" src="/src/main.ts"></script>

<!-- 👇 -->
<script>
  var global = global || window;
</script>

关于vue.js - 窗口未定义 Vite Vitesse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70956632/

相关文章:

javascript - 有什么方法可以使 sessionStorage 在 Vue3 中具有反应性?

typescript - 支持 Vue 3 的全日历

vue.js - 如何在 vue 3 vite 中使用 sass 扩展?

javascript - 绝对导入在 React Vite js 中不起作用

javascript - 如何从自定义函数内部调用vue路由器

javascript - 如何解决 noscript - 在为 Vue 应用程序提供服务时,如果没有启用 JavaScript,则无法正常工作

javascript - VueJS 推送带有参数的路由在浏览器中显示旧参数

javascript - 引用错误: folders is not defined vue:6

node.js - 当后端位于 Docker 容器中时,SvelteKit SSR fetch()

javascript - 如何在 Pixi.js 中使用 Vite HMR API