gpt4 book ai didi

javascript - ChartJS 并需要 : Chart is undefined

转载 作者:行者123 更新时间:2023-11-27 23:05:35 25 4
gpt4 key购买 nike

我在我的项目中使用 requirejs,它与其他模块(jQuery、Handlebars...)配合良好,但与 Chartjs 配合不好。

这是一个失败的示例:

<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<script src="scripts/libs/requirejs/require.js"></script>
<script>
require(['scripts/libs/chartjs/Chart.min'], function(Chart) {
console.log("go"); // prints "go"
console.log(Chart); // prints "undefined"
var ctx = document.getElementById("test").getContext("2d"),
chart = new Chart(ctx); // Throws a TypeError: Chart is not a constructor
});
</script>
</head>
<body>
<canvas id="test" width="200px" height="200px"></canvas>
</body>
</html>

require.js 和 Chart.min.js 加载正常,但我无法让 ChartJS 工作。

这是我的项目在 Bower.json 中的依赖项:

  "dependencies": {
"jquery": "^2.2.0",
"bootstrap": "^3.3.6",
"select2": "^4.0.1",
"select2-bootstrap": "^1.3.0",
"handlebars": "~4.0.5",
"requirejs": "^2.2.0",
"Chart.js": "^2.0.0"
}

安装的版本:

├── Chart.js#2.0.0
├─┬ bootstrap#3.3.6 (latest is 4.0.0-alpha.2)
│ └── jquery#2.2.0 (2.2.3 available, latest is 3.0.0-beta1)
├── handlebars#4.0.5
├── jquery#2.2.0 (2.2.3 available, latest is 3.0.0-beta1)
├── requirejs#2.2.0
├── select2#4.0.1 (4.0.2 available)
└── select2-bootstrap#1.3.0

知道我做错了什么吗?

最佳答案

如果您使用的是 Chart.js v2.0,请确保您获得最新版本(它适用于我的 2.0.0-beta2,但不适用于 alpha)。此外,由于 Chart.js 依赖于 moment.js,因此您还需要将其包含在内。

<小时/>

使用旧版本的 Chart.js v2.0(例如 alpha),您必须将 Chart.js 作为旧脚本加载并使用全局变量(或 noConflict())。

<小时/>

对 moment.js 的依赖不是很明显(相关问题 - https://github.com/nnnick/Chart.js/issues/2110 )。以下是将 Chart.js 作为普通脚本文件加载时在控制台上看到的内容。

enter image description here

当 Chart.js 通过 require.js 加载时,此依赖项会导致对 moment.js 的请求。

关于javascript - ChartJS 并需要 : Chart is undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36623404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com