【问题标题】:jsplumb in Nuxt app throws document is not definedNuxt 应用程序中的 jsplumb 抛出文档未定义
【发布时间】:2021-08-27 08:37:25
【问题描述】:

我打算在我的应用中使用 jsplumb

我当前的代码是这样的

<template>
  <client-only>
    <div id="canvas"></div>
  </client-only>
</template>

<script>
import { jsPlumb } from 'jsplumb'

export default {
  name: 'JsPlumb',
  auth: false,
  mounted() {
    jsPlumb.ready(function () {})
  }
}
</script>

当我运行我的应用程序时,这会引发 document is not defined 错误。我已经发现 jsplumb 不能在 SSR 上工作。我怎样才能实现它来使用 jsplumb 的导入,它不会引发错误。 nuxt中是否有动态导入只导入非ssr中的库?

【问题讨论】:

  • 嗨,出于某种原因,即使按照您提到的步骤操作,它似乎也不起作用,我收到document is not defined 错误。我已经在这里发布了我的问题,你能帮我解决这个问题吗? stackoverflow.com/q/69814456/7584240

标签: nuxt.js jsplumb


【解决方案1】:

如果其他人即使在process.client 无法工作之后尝试,请尝试process.browser,因为我猜客户端已更改。最好的方法是做console.log(process) 并检查其中存在的变量并根据它做出决定。

<script>
  console.log(process)
  console.log(process.browser)
</script>

【讨论】:

【解决方案2】:

与此处完全相同的问题:https://stackoverflow.com/a/67751550/8816585

<script>
import { jsPlumb } from 'jsplumb' // client-side library only, no SSR support

export default {
  mounted() {
    if (process.client) {
      // your JS code here like >> jsPlumb.ready(function () {})
    }
  },
}
</script>

我已经在那里编辑了答案以获得所有需要的详细信息。

【讨论】:

  • 嗨,出于某种原因,即使按照您提到的步骤操作,它似乎也不起作用,我收到document is not defined 错误。我已经在这里发布了我的问题,你能帮我解决这个问题吗? stackoverflow.com/q/69814456/7584240
猜你喜欢
  • 2021-12-17
  • 2022-09-24
  • 2016-12-14
  • 2023-01-24
  • 1970-01-01
  • 2014-10-18
  • 1970-01-01
  • 2019-12-23
  • 2021-12-03
相关资源
最近更新 更多