Ошибки D3 при использовании импорта модулей, а не всей библиотеки - PullRequest
0 голосов
/ 01 ноября 2019

Я импортирую модули, а не всю библиотеку и выдаю ошибку с scaleLinear(). Если я импортирую всю библиотеку D3 (<script src="https://d3js.org/d3.v5.min.js"></script>), ошибка исчезнет. Что еще более запутанно, так это то, что я не получаю ошибок с другими модулями, на которые я ссылаюсь, просто scaleLinear(). Что я здесь не так делаю?

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1"/>

    <title>Bar Chart</title>

    <script src="../node_modules/d3-array/dist/d3-array.min.js"></script>
    <script src="../node_modules/d3-axis/dist/d3-axis.min.js"></script>
    <script src="../node_modules/d3-collection/dist/d3-collection.min.js"></script>
    <script src="../node_modules/d3-dsv/dist/d3-dsv.min.js"></script>
    <script src="../node_modules/d3-fetch/dist/d3-fetch.min.js"></script>
    <script src="../node_modules/d3-scale/dist/d3-scale.min.js"></script>
    <script src="../node_modules/d3-selection/dist/d3-selection.min.js"></script>
    <script src="../node_modules/d3-time-format/dist/d3-time-format.min.js"></script>

    <!--<script src="https://d3js.org/d3.v5.min.js"></script>-->

    <link rel="stylesheet" type="text/css" href="index.css">
</head>
<body>
    <div class="bar-chart-container"></div>
    <script src="app.js"></script>
</body>
</html>

package.json

{
  "name": "d3-dev",
  "version": "1.0.0",
  "description": "Building Data Documents with D3",
  "license": "ISC",
  "dependencies": {
    "d3-array": "^2.3.3",
    "d3-axis": "^1.0.12",
    "d3-collection": "^1.0.7",
    "d3-fetch": "^1.1.2",
    "d3-scale": "^3.2.0",
    "d3-selection": "^1.4.0",
    "d3-time-format": "^2.2.1"
  }
}

базовый код для проверки:

const x = d3.scaleLinear()
    .domain([10, 130])
    .range([0, 960]);

x(5)

Возвращает ошибку при использованиимодульные ссылки: TypeError: r is not a function, но отлично работает, когда я использую <script src="https://d3js.org/d3.v5.min.js"></script> в качестве основной ссылки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...