未捕获的 ReferenceError:未定义图表

Posted

技术标签:

【中文标题】未捕获的 ReferenceError:未定义图表【英文标题】:Uncaught ReferenceError: Chart is not defined 【发布时间】:2017-08-23 04:37:40 【问题描述】:

我已经使用 npm 安装了 chart.js npm install chart.js --save-dev,在 "resources/assets/js/bootstrap.js" 我通过以下方式引用它: require('chart.js'); 然后在我的控制台npm run dev 中,最后它在"public/js/app.js" 中成功编译,但是当我尝试在我的视图中使用它时,如下所示

<script src="/js/app.js"></script><script>
var ctx = document.getElementById("myChart");
var myChart = new Chart(ctx, 
......... </script>

浏览器返回

Uncaught ReferenceError: Chart is not defined.

怎么在app.js中声明了却不能引用? 提前致谢。

【问题讨论】:

也许你正在使用严格的“使用严格”模式? 【参考方案1】:

如果您查看 app.js,它是否包含在函数中?听起来它不是全局命名空间的一部分,尽管它存在于 app.js 中。

【讨论】:

谢谢,window.chart = require('chart.js');为我做了诀窍,所以现在它在全球范围内宣布。 在yii2中怎么做?你能看看我的相关@​​987654321@吗?【参考方案2】:

如果您使用的是 es6,您可能需要更改您需要的方式。

来自文档: http://www.chartjs.org/docs/

// Using CommonJS
var Chart = require('chart.js')
var myChart = new Chart(...)

// ES6
import Chart from 'chart.js'
let myChart = new Chart(...)

// Using requirejs
require(['path/to/Chartjs'], function(Chart)
var myChart = new Chart(...)
)

【讨论】:

谢谢,window.chart = require('chart.js');为我做了诀窍。

以上是关于未捕获的 ReferenceError:未定义图表的主要内容,如果未能解决你的问题,请参考以下文章

打字稿 - 未捕获的 ReferenceError:未定义导出

未捕获的 ReferenceError:未定义 showCategory

未捕获的 ReferenceError:“$ 未定义”[重复]

PhoneGap 错误 - “未捕获的 ReferenceError:cordova 未定义”

未捕获的 ReferenceError:$ 未定义 [重复]

未捕获的 ReferenceError:未定义窗口