【发布时间】:2016-10-11 15:11:43
【问题描述】:
在我们将 d3、dc 和 crossfilter js 文件更新为当前文件后,我们得到:dc.js (1.7.5) 行上的 crossfilter is not defined 错误-
this.dc = _dc(d3, crossfilter);
以下是 html 的编码方式:
<script type="text/javascript" src="/js/jquery.min.js"></script>
<script src="https://d3js.org/d3.v4.js"></script>
<script src="https://d3js.org/d3-time.v1.min.js"></script>
<script src="https://d3js.org/d3-time-format.v2.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dc/1.7.5/dc.js"> </script>
<script type="text/javascript" src="/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crossfilter/1.3.12/crossfilter.js"></script>
<script type="text/javascript" src="/js/url.min.js"></script>
<script type="text/javascript" src="/js/jquery.dataTables.min.js"></script>
<script type="text/javascript" src="/js/combodate.js"></script>
不确定升级现在是否需要另一个 js 文件?我们之前使用的crossfilter.js是1.3.11,我们使用的dc文件是dc.min.js dc2.0.0-beta.14。
提前感谢您的帮助!
【问题讨论】:
-
您是否更改了加载脚本的顺序?您在 crossfilter 之前加载了 dc.js。
-
我刚刚做了你建议@Jecoms 的更改,现在我得到了 - TypeError - d3.time 在 dc.js 行上未定义 - dc.dateFormat = d3.time.format("%m/ %d/%Y");我认为 d3 函数现在是 d3.timeFormat,而不是 d3.time.format。
-
我将 d3 更改为 -
-
我不知道您包含脚本的顺序实际上是保证它们按该顺序加载。您可能需要考虑像 WebPack 这样的脚本加载器/构建系统。
标签: javascript d3.js crossfilter