如何在angularjs应用程序中包含d3.js?

时间:2015-01-28 11:40:31

标签: javascript angularjs d3.js

我正在编写一个Angularjs应用程序。我正在使用与Grunt的MEAN堆栈。我写了一个使用d3库的指令。我在以下位置有d3.js文件:

/client/app/lib/d3.js

该文件自动包含在index.html中,并且在开发模式下运行正常。但是当我在生产模式下运行时,我收到以下错误:

Uncaught ReferenceError: d3 is not defined

然后我做了一些R& D并发现如果包含以下语法的任何java脚本文件,它会给出相同的错误:

!function foo() {
   var myd3 = {};
...
...
...
   this.myd3 = myd3;
}();

以上代码会出错:Uncaught ReferenceError: myd3 is not defined

1 个答案:

答案 0 :(得分:0)

如果您没有明确地从函数返回任何内容,则返回undefined。现在!使其成为true。就是这样。

我认为问题在于执行脚本。在项目的任何地方使用d3之前,您确定先加载<script src='d3.js'></script>吗?确保在代码脚本之前存在concatenation

通常,对于生产级代码,脚本{{1}}已完成。确保连接按顺序完成(d3,你的应用程序脚本)。