我在node require中使用了chart.js库(" chart.js");以及ejs文件中的代码
function abc () {
var chart = new CanvasJS.Chart("chartContainer",
{
title:{
text: "Earthquakes - per month"
},
data: [
{
type: "line",
dataPoints: [
{ x: new Date(2012, 00, 1), y: 450 },
{ x: new Date(2012, 01, 1), y: 414 },
{ x: new Date(2012, 02, 1), y: 520 },
{ x: new Date(2012, 03, 1), y: 460 },
{ x: new Date(2012, 04, 1), y: 450 },
{ x: new Date(2012, 05, 1), y: 500 },
{ x: new Date(2012, 06, 1), y: 480 },
{ x: new Date(2012, 07, 1), y: 480 },
{ x: new Date(2012, 08, 1), y: 410 },
{ x: new Date(2012, 09, 1), y: 500 },
{ x: new Date(2012, 10, 1), y: 480 },
{ x: new Date(2012, 11, 1), y: 510 }
]
}
]
});
chart.render();
}
<%= abc(); %>
<div id="chartContainer" style="height: 300px; width: 100%;">
</div>
在终端上运行时显示错误。
/var/www/html/nodeproject/helloworld/node_modules/chart.js/Chart.js:668 return window.requestAnimationFrame || ^ ReferenceError:未定义窗口 at /var/www/html/nodeproject/helloworld/node_modules/chart.js/Chart.js:668:11
如何在ejs格式文件中绘制图表?
答案 0 :(得分:0)
您需要将结果提供给客户端,终端将无法解释生成的HTML。
您可以在Node.js中设置HttpServer并将生成的HTML作为响应传递;然后在浏览器中,您将能够看到结果。
var http = require("http");
var server = http.createServer(function(request, response){
response.writeHead(200, {'content-type':'text/html'});
response.end( "<insert genereated html here>" );
});
server.listen(3000); //Or any port you want