尝试通过RequireJS使用CanvasJS时出错

时间:2018-12-28 14:10:15

标签: requirejs canvasjs

我正在尝试在项目中使用 CanvasJS 。我正在使用 RequireJS 来管理模块,并将其保存在主脚本中:

define(['domReady',"canvasjs","common-functions"], function(domReady,CanvasJS) {
    domReady(function () {
        window.CanvasJS = CanvasJS;
        init_page_select();
    });
});

这是我的requireJS配置文件中包含该路径的

 "paths": {
      // other stuff here
      "canvasjs": "node_modules/canvasjs/dist/canvasjs.min"

    },

我可以看到 canvasjs.min.js 文件被很好地捕获了-但是随后出现这个奇怪的错误:

ReferenceError: intToHexColorString is not defined[Learn More] canvasjs.min.js:7:7042
    [33]</n.prototype.render https://www.test.org/2018/js/lib/node_modules/canvasjs/dist/canvasjs.min.js:7:7042
    [28]</n.prototype.render https://www.test.org/2018/js/lib/node_modules/canvasjs/dist/canvasjs.min.js:5:14150
    n/this.render https://www.test.org/2018/js/lib/node_modules/canvasjs/dist/canvasjs.min.js:8:17771
    init_page_select https://www.test.org/2018/js/lib/spot_view_stats.js:83:2
    <anonymous> https://www.test.org/2018/js/lib/spot_view_stats.js:4:3
    domReady https://www.test.org/2018/js/lib/domready.js:105:13
    <anonymous> https://www.test.org/2018/js/lib/spot_view_stats.js:2:2
    execCb https://www.test.org/2018/js/lib/require.js:5:12859
    check https://www.test.org/2018/js/lib/require.js:5:6575
    enable/</< https://www.test.org/2018/js/lib/require.js:5:9031
    bind/< https://www.test.org/2018/js/lib/require.js:5:812
    emit/< https://www.test.org/2018/js/lib/require.js:5:9497
    each https://www.test.org/2018/js/lib/require.js:5:289
    emit https://www.test.org/2018/js/lib/require.js:5:9465
    check https://www.test.org/2018/js/lib/require.js:5:7169
    enable/</< https://www.test.org/2018/js/lib/require.js:5:9031
    bind/< https://www.test.org/2018/js/lib/require.js:5:812
    emit/< https://www.test.org/2018/js/lib/require.js:5:9497
    each https://www.test.org/2018/js/lib/require.js:5:289
    emit https://www.test.org/2018/js/lib/require.js:5:9465
    check https://www.test.org/2018/js/lib/require.js:5:7169
    enable https://www.test.org/2018/js/lib/require.js:5:9358
    init https://www.test.org/2018/js/lib/require.js:5:5716
    h https://www.test.org/2018/js/lib/require.js:5:4287
    completeLoad https://www.test.org/2018/js/lib/require.js:5:12090
    onScriptLoad https://www.test.org/2018/js/lib/require.js:5:13014

我通过以下方式调用它:

var chart = new CanvasJS.Chart("thegraph",
{
  title:{
   text: impressionText
 },
  theme: "theme2",
 axisX: {
   valueFormatString: "MMM-DD-YYYY",
   labelAngle: -50
  },
  axisY:{
    valueFormatString: "#0",
    title:  impressionText
  },
 data: [
 {
  type: "line",
  showInLegend: true,
  legendText: legendText,
  dataPoints: dataPoints
}
]
});

chart.render();

有趣的是,如果我告诉它加载 canvasjs.js 而不是 canvasjs.min.js ,则会收到另一个错误:

  

ReferenceError:未定义intToHexColorString [了解更多]

1 个答案:

答案 0 :(得分:0)

好的,所以问题似乎是我的版本。由于某种原因,“ npm install canvasjs”正在安装1.8.1,但是2.2已退出。根据他们的要求,我将其更新为2.2,然后对问题进行了排序。看来npm正在运行如此过时的版本