如何在CDN上指定D3 V4微型库?

时间:2017-06-05 23:54:05

标签: d3.js

我想用cdn加载一个微库。

·是否存在可在某处正常运行的示例代码?

▼index.html

echo !is_null($row['title']) ? $row['title'] : 'en attend';

▼JS

<script src="https://d3js.org/d3-scale.v1.js"></script>

错误

  

未捕获的TypeError:d3Color.cubehelix不是函数

1 个答案:

答案 0 :(得分:2)

API非常清楚:如果你想引用微库来使用d3.scale,你必须参考所有这些:

<script src="https://d3js.org/d3-array.v1.min.js"></script>
<script src="https://d3js.org/d3-collection.v1.min.js"></script>
<script src="https://d3js.org/d3-color.v1.min.js"></script>
<script src="https://d3js.org/d3-format.v1.min.js"></script>
<script src="https://d3js.org/d3-interpolate.v1.min.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://d3js.org/d3-scale.v1.min.js"></script>

此外,API说:

  

如果您不使用d3.scaleTime或d3.scaleUtc

,则可以省略d3-time和d3-time-format

这是一个演示:

var yScale = d3.scaleLinear()
  .domain([10, 1200])
  .range([0, 500]);
console.log(yScale(1200));
console.log(d3.version);
<script src="https://d3js.org/d3-array.v1.min.js"></script>
<script src="https://d3js.org/d3-collection.v1.min.js"></script>
<script src="https://d3js.org/d3-color.v1.min.js"></script>
<script src="https://d3js.org/d3-format.v1.min.js"></script>
<script src="https://d3js.org/d3-interpolate.v1.min.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://d3js.org/d3-scale.v1.min.js"></script>

如您所见,d3.version仅适用于默认捆绑包,并会在此处返回undefined

因此,更简单的解决方案就是引用默认包。对于缩小的:

<script src="https://d3js.org/d3.v4.min.js"></script>

对于未缩小的人:

<script src="https://d3js.org/d3.v4.js"></script>