Fli*_*926 5 quill vue.js nuxt.js vue-quill-editor
我有一个 Vue SPA,正在尝试迁移到 Nuxt,这是我的第一次尝试。我已经复制了我的组件,并且已经将依赖项添加回我的 package.json,但是在进入 vue-quill-editor 后,我开始发现文档未定义。
错误页框:
ReferenceError
document is not defined
node_modules/quill/dist/quill.js:7661:12
node_modules/quill/dist/quill.js:36:30
__webpack_require__
node_modules/quill/dist/quill.js:1030:1
node_modules/quill/dist/quill.js:36:30
__webpack_require__
node_modules/quill/dist/quill.js:5655:14
node_modules/quill/dist/quill.js:36:30
__webpack_require__
node_modules/quill/dist/quill.js:10045:13
node_modules/quill/dist/quill.js:36:30
__webpack_require__
Run Code Online (Sandbox Code Playgroud)
我尝试将使用鹅毛笔编辑器的两个组件包装在
ReferenceError
document is not defined
node_modules/quill/dist/quill.js:7661:12
node_modules/quill/dist/quill.js:36:30
__webpack_require__
node_modules/quill/dist/quill.js:1030:1
node_modules/quill/dist/quill.js:36:30
__webpack_require__
node_modules/quill/dist/quill.js:5655:14
node_modules/quill/dist/quill.js:36:30
__webpack_require__
node_modules/quill/dist/quill.js:10045:13
node_modules/quill/dist/quill.js:36:30
__webpack_require__
Run Code Online (Sandbox Code Playgroud)
标签,但这根本没有改变任何东西。这是其中一个组件:
<client-only>
Run Code Online (Sandbox Code Playgroud)
<template>
<client-only>
<div>
<b-card no-body class="mt-4">
<b-card-header>
Notes
</b-card-header>
<b-card-body>
<quill-editor v-model="contents" :content="contents"></quill-editor>
</b-card-body>
</b-card>
</div>
</client-only>
</template>
<script>
Run Code Online (Sandbox Code Playgroud)
我查看了许多 SO 线程,但没有一个起作用。如果需要更多信息,请说:)
我很感激任何帮助
小智 2
我在 Nuxt3 中解决了这个问题。我们无法在服务器端加载 quill,因为 Quill 库严重依赖 DOM API,因此必须仅在客户端加载它,就像我在下面所做的那样。
<template>
<ClientOnly fallback-tag="div" fallback="Loading editor...">
<QuillEditor theme="snow" />
</ClientOnly>
</template>
<script setup lang="ts">
import { QuillEditor } from '@vueup/vue-quill'
import '@vueup/vue-quill/dist/vue-quill.snow.css'
</script>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2789 次 |
最近记录: |