使用 Nuxt/Vue 加载 D3

2024-03-18

我正在尝试在使用 Nuxt 构建的应用程序中实现 D3。我已成功将其导入到视图中<script>部分与import * as d3 from 'd3'但是,由于该应用程序正在服务器端渲染,因此 D3 的功能不起作用(即d3.select(...))由于缺少浏览器。在里面Nuxt插件文档 https://nuxtjs.org/guide/plugins/#client-side-only它建议了一种仅限客户端的外部插件的模式:

module.exports = {
  plugins: [
    { src: '~plugins/vue-notifications', ssr: false }
  ]
}

我尝试在中实现该模式nuxt.config.js我的项目:

module.exports = {
  head: {
    title: 'My Demo App',
    meta: [...],
    link: [...]
  },

  loading: {...},

  plugins: [
     { src: '~node_modules/d3/build/d3.js', ssr: false}
  ]
}

然而D3抛出了一个ReferenceError在寻找的同时documentNuxt 抛出一个SyntaxError在控制台中指向插件字段中的某些内容nuxt.config.js.

以供参考,demo.vue:

<template>
  <div class="demo-container"></div>
</template>

<script>
  import * as d3 from 'd3';
  d3.select('.demo-container');
</script>

有人能够指出我做错了什么吗?


对于任何来到此页面寻找解决方案的人, 这些建议来自 piyushchauhan2011在 GitHub 上 https://github.com/nuxt/nuxt.js/issues/771让我朝着正确的方向前进。

我需要做的就是:

  • 在我的单文件组件中导入 d3,然后
  • 仅在以下范围内使用 d3 进行任何 DOM 操作mounted()

在这一切之前,我当然必须将 d3 添加到我的项目中yarn add d3 (or npm install d3).

[编辑:删除了不再有效的链接。无论如何,这并不相关。]

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Nuxt/Vue 加载 D3 的相关文章

随机推荐

  • CSV 未附加到应用程序电子邮件中?

    所以我有一段时间遇到这个问题但无法让它工作 我一直在构建一个调查应用程序 用户只需在其中输入信息并将其保存到 csv 文件中 我现在正处于需要将应用程序内的 csv 文件附加到电子邮件地址的阶段 我刚刚在我的新手机上测试了这个 收到电子邮件
  • 在 ipython 笔记本中测量单元执行时间的简单方法

    除了单元的原始输出之外 我还想获取单元执行所花费的时间 为此 我尝试了 timeit r1 n1但它不会公开单元格内定义的变量 time适用于仅包含 1 条语句的单元格 In 1 time 1 CPU times user 4 s sys
  • 为什么 UITableView 单元格在滚动时重叠?

    我有一个UITableView大约有 100 行 每个单元格都检查了图像 但是当我们滚动时UITableView 所有单元格在未检查的单元格中重叠 UITableViewCell tableView UITableView tableVie
  • 重载new和delete

    我尝试遵循这篇文章 http flipcode com archives How To Find Memory Leaks shtml http flipcode com archives How To Find Memory Leaks
  • 相对URL问题

    我将有多个文件夹 模块来访问常用文件 但访问它们对我来说似乎很重要 我确实通过这个链接来了解相对定位并设法解决了一些问题 但不是所有的 参考 php 中的相对 URL 路径 https stackoverflow com questions
  • IOS - 如果用户点击随机元素而不是背景,如何隐藏键盘?

    在我的应用程序中我有这样的东西 IBAction backgroundTouch id sender businessDescription resignFirstResponder self view endEditing YES 我不确
  • 如何使用 C# 读取 XML 元素的内容? [复制]

    这个问题在这里已经有答案了 可能的重复 解析 xml 文件的最佳实践 https stackoverflow com questions 55828 best practices to parse xml files 我希望能够在 XML
  • Spring WebFlux 创建无阻塞线程池

    我决定用 Java 重写我的 Web 应用程序 之前是用 Python 编写的 在我的应用程序中 我使用了无阻塞 I O 我有工作池 Celery Eventlet 线程 我在其中传递由数百个 API 调用组成的任务 现在我正在使用Spri
  • 如何使用 Process.Start 启动管道并重定向命令?

    我正在使用 System Diagnostics Process Start 在 Linux 操作系统上远程启动命令 到目前为止 我已经能够启动简单的命令 然后读取输出 例如我可以执行命令echo Hello World并阅读Hello W
  • 跨线程操作错误

    if listBox1 InvokeRequired listBox new StringBuilder this listBox1 Text 这是 c 中的代码 执行时会对 listBox1 产生无效的跨线程操作错误 listBox1 是
  • 透明背景上的 TKinter 按钮

    我试图了解如何将按钮应用到透明背景 同时保持其形状 当我生成下面的代码时 边框周围出现灰色背景 而且看起来也失去了形状 使用的颜色 侧边栏 2E3A4B 53 按钮 2C2F33 100 from tkinter import def bt
  • Laravel artisan cron 不工作

    我有一个页面在 beanstalked 中对电子邮件进行排队 该脚本按预期工作 当我有队列侦听器时 电子邮件会被触发 即 php artisan queue listen 但是当我删除侦听器并将其添加到 cron 作业时 usr bin p
  • 带有数字键的动态 json 对象

    我有一个 json 对象 在以下命令的帮助下将其转换为动态 C 对象this https stackoverflow com questions 3142495 deserialize json into c dynamic object
  • 如何获取 web.config appSettings 作为 ConfigurationSection 而不是 NameValueCollection

    ConfigurationManager AppSettings 属性 返回一个 NameValueCollection 对象 其中包含当前应用程序默认配置的 AppSettingsSection 对象的内容 但我需要 AppSetting
  • 如何检测 VPN 或代理连接? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想阻止所有使用 VPN 或代理服务器的连接 是否有办法检测是否正在使用 VPN 或代理连接 如果没有 我是否可以检查使用 VPN 或
  • iOS - 在关闭和滚动手势之间切换

    我正在尝试模仿 Line 通讯应用程序 日本事实上的通讯应用程序 中的一种行为 基本上 它们有一个模态视图控制器 内部有滚动视图 当滚动操作到达其内容的顶部时 视图控制器无缝切换到交互式解除动画 此外 当手势将视图返回到屏幕顶部时 控制权将
  • 最近的工具更新失败并出现依赖性错误后添加控制器

    由于安装 MVC3 的最新工具更新 通过 添加控制器 上下文菜单添加控制器通常会失败并出现以下错误 无法加载文件或程序集 Newtonsoft Json Version 3 5 0 0 Culture neutral PublicKeyTo
  • Ruby on Rails 表单:如何创建复选框表(或列表)

    在 Ruby on Rails 中创建一组相关复选框的最佳方法是什么 在 Turbogears 使用的 ToscaWidgets 库中 您可以执行以下操作 twf CheckBoxTable arbitrary numbers num co
  • 如何在 Python 中生成 HTML 单元测试输出?

    我正在寻找任何方法来在 HTML 摘要中显示 Python 单元测试的结果 对于 Java 和 Ruby 有这样的工具 尚未找到任何似乎可以为 Python 执行此操作的工具 那里有吗 JUnit HTML 输出 source ibm co
  • 使用 Nuxt/Vue 加载 D3

    我正在尝试在使用 Nuxt 构建的应用程序中实现 D3 我已成功将其导入到视图中