2016-03-23 44 views
0

我在node require(「chart.js」)中使用chart.js庫;以下代碼在ejs文件中如何使用node.js中的數據製作圖表並進行表達?

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 回報window.requestAnimationFrame || ^ 的ReferenceError:窗口沒有在/var/www/html/nodeproject/helloworld/node_modules/chart.js/Chart.js:668:11

定義 如何繪製EJS格式文件圖表?

回答

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 
+0

我需要生成圖表,而我的網址看起來像http://example.com/taglist現在在上面的解決方案,我如何定義app.get的並且在插入生成的HTML什麼是所有插入html生成運行時。我只有這個HTML

+0

我假設你知道如何設置一個基本的Express App? 然後只需添加路由 'app.get(「/ 」,myRoute.render)' 一個在你的路由文件夾你把myRoute.js文件至極導出渲染功能,比如'exports.render =函數(req,res,next){/ *您的代碼herer * /}' 我認爲可以直接發回div,瀏覽器可能會將它追加到空白文檔並顯示它就好。 – ikarus

+0

是的ikarus我知道你在上面寫的http是什麼?我需要在ejs文件中繪製圖表。你知道我怎麼可以在ejs視圖引擎中繪製圖表我的主要問題是相關的, –

相關問題