【问题标题】:Uncaught ReferenceError: Chart is not defined未捕获的 ReferenceError:未定义图表
【发布时间】: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中声明了却不能引用?
提前致谢。

【问题讨论】:

  • 也许你正在使用严格的“使用严格”模式?

标签: javascript php laravel npm chart.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');为我做了诀窍。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-01-23
  • 2016-11-03
  • 2011-01-05
  • 2016-01-02
  • 2013-10-06
  • 2016-12-17
相关资源
最近更新 更多