NVD3.js: ReferenceError: nv is not defined

NVD3.js: ReferenceError: nv is not defined

我正在使用 NVD3.js 库生成图表。我尝试将折线图添加到其中并出现上述错误。如何解决?

我正在尝试这个here

你能post一个Plunker/Fiddle吗?在我的脑海中,它可能只是你包括 nv.d3.js 的地方。您是否还添加了 D3.js?

其实我发现了,问题出在文件夹结构上。 angular-nvd3 网站附带的示例给出了路径

bower_components/nvd3/nv.d3.js

,检查你的 bower_components 文件,实际路径是

bower_components/nvd3/build/nv.d3.js

同样 nv.d3.css 路径不是

bower_components/nvd3/nv.d3.css

是,

bower_components/nvd3/build/nv.d3.css

此外,别忘了添加

<meta charset="utf-8">

作为 head 标签内的第一行..

你有没有包含 nv.d3.jsd3.js 因为这些顺序也会导致问题尝试先添加 d3.js

我在使用 ionic2(基于 Angular2)时遇到了类似的问题。

Although all the necessary libraries were included in the index.html. The problem finaly was that the scripts has to be included before the ionic app is loaded!!!

<!-- These scripts are copied from node_modules-->
  <script src="build/d3.min.js" charset="utf-8"></script>
  <script src="build/nv.d3.min.js"></script>

<!-- Ionic's root component and where the app will load -->
  <ion-app></ion-app>

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/nvd3/1.8.4/nv.d3.min.css"/>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.6/d3.min.js" charset="utf-8"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/nvd3/1.8.5/nv.d3.min.js"></script>
  
 

将这些文件添加到您的 index.html

如果您使用的是 angular 2 或更高版本,则

"../node_modules/ng2-nvd3/node_modules/d3/d3.min.js",
"../node_modules/ng2-nvd3/node_modules/nvd3/build/nv.d3.min.js"

只需在 .angular-cli.json 中的 scripts 数组下添加以上行即可。