Javascript TypeError:CanvasRenderService不是构造函数

Javascript TypeError:CanvasRenderService不是构造函数,javascript,canvas,discord.js,chart.js,Javascript,Canvas,Discord.js,Chart.js,我的电晕机器人工作了很长时间。它离线了3个月。现在,我已经在vultr(托管服务)中托管了它。但是我从来没有面对过这个错误,但是现在面对这个 新的: 我只是看了一眼,还是有新的错误我的代码: 错误是: 5 | x |(节点:19549)未经处理的Promisejection警告:错误:需要选项参数对象– 是的,我已从CanvasRenderService转到ChartJSNodeCanvas 旧的: 有误: 5|x | (node:18303) UnhandledPromiseRejection

我的电晕机器人工作了很长时间。它离线了3个月。现在,我已经在vultr(托管服务)中托管了它。但是我从来没有面对过这个错误,但是现在面对这个

新的:


我只是看了一眼,还是有新的错误我的代码

错误是:
5 | x |(节点:19549)未经处理的Promisejection警告:错误:需要选项参数对象–

是的,我已从
CanvasRenderService
转到
ChartJSNodeCanvas

旧的:

有误:

5|x | (node:18303) UnhandledPromiseRejectionWarning: TypeError: CanvasRenderService is not a constructor
5|x |     at Client.<anonymous> (/root/covid/bot.js:357:37)
5|x |     at processTicksAndRejections (internal/process/task_queues.js:97:5)
5 | x |(节点:18303)未经处理的PromisejectionWarning:TypeError:CanvasRenderService不是构造函数
5 | x |在客户处。(/root/covid/bot.js:357:37)
5 | x | at processtick和rejections(internal/process/task_queues.js:97:5)

他们已将其服务从2.x.x版的
CanvasRenderSerice
重命名为
3.x.x版的
ChartJSNodeCanvas

因此,您可能正在使用版本3.x.x。降级您的
chartjs节点画布
version2.x.x或根据新版本更新代码

2.x.x语法

CanvasRenderService(width, height, chartCallback, type, chartJsFactory)
3.x.x

所以在新版本中,您必须使用

new ChartJSNodeCanvas({ width, height })
const{ChartJSNodeCanvas}=require('chartjs-node-canvas');
常量chartCallback=(ChartJS)=>{
//全局配置示例:https://www.chartjs.org/docs/latest/configuration/
ChartJS.defaults.global.elements.rectangle.borderWidth=2;
};
const canvasRenderService=new ChartJSNodeCanvas({width,height,chartCallback});
(异步()=>{
常量配置={
键入:“行”,
数据:{
标签:日期,
数据集:[
{
标签:“总案例”,
数据:例,
背景色:“rgba(255255,0,0.1)”,
边框颜色:“rgba(255255,0,1)”,
边界宽度:2,
点半径:2
},
{
标签:“恢复”,
数据:已恢复,
背景色:“rgba(0255,0,0.1)”,
边框颜色:“rgba(0255,0,1)”,
边界宽度:2,
点半径:2
},
{
标签:“死亡”,
数据:死亡人数,
背景色:“rgba(255,0,0,0.1)”,
边框颜色:“rgba(255,0,0,1)”,
边界宽度:2,
点半径:2
}
]
},
选项:{
图例:{
位置:“底部”,
标签:{
fontColor:“rgb(255,255,255,1)”,
字体大小:16
}
},
比例:{
xAxes:{
网格:{
显示:假
},
滴答声:{
fontColor:“rgba(255、255、255、1”
}
},
雅克斯:{
网格:{
线宽:2,
颜色:“rgba(255,255,255,0.8)”
},
滴答声:{
fontColor:“rgba(255、255、255、1”
}
}
}
}
};
})

const image=wait canvasRenderService.renderToBuffer(配置);
我刚看了一眼,仍然有新的错误。我的代码:错误是:5 | x |(节点:19549)未经处理的PromisejectionWarning:错误:需要一个选项参数对象。您似乎刚刚尝试重命名服务。构造函数参数也发生了更改。使用新语法更新了答案。不过,对此有什么想法吗?字体也像我前面所说的那样被破坏了,从2.x到3.x,它有许多破坏性的更改。请检查是否存在错误详细信息。刚刚用基本更改代码片段更新了我的答案,你可以检查一下。谢谢:)我刚刚注册的字体arialbd现在看起来很好。
ChartJSNodeCanvas(options)
new ChartJSNodeCanvas({ width, height })