我正在尝试在我使用Nuxt构建的应用程序中实现D3。我已使用<script>
成功将其导入import * as d3 from 'd3'
部分的视图中,但因为正在渲染应用的服务器端D3的功能无效(即{{1} })由于缺乏浏览器。在Nuxt plugin documentation中,它建议了仅限客户端外部插件的模式:
d3.select(...)
我试图在我项目的module.exports = {
plugins: [
{ src: '~plugins/vue-notifications', ssr: false }
]
}
中实现模式:
nuxt.config.js
然而D3在查找module.exports = {
head: {
title: 'My Demo App',
meta: [...],
link: [...]
},
loading: {...},
plugins: [
{ src: '~node_modules/d3/build/d3.js', ssr: false}
]
}
时抛出ReferenceError
,Nuxt在控制台中抛出document
,指向SyntaxError
的插件字段中的某些内容。
供参考,nuxt.config.js
:
demo.vue
有人能够指出我做错了吗?
答案 0 :(得分:4)
对于访问此页面寻找解决方案的任何人, 来自piyushchauhan2011 here on GitHub的这些建议让我走向了正确的方向 -
我需要做的就是在我的单个文件组件中导入d3然后仅在mounted()
here
在此之前,我当然必须使用yarn add d3
(或npm install d3 --save
)将d3添加到我的项目中。