2017-06-22 6 views
0

nodejsでハイチャートグラフを作成しようとしています。すでにnpmでインストールしています。 私は基本的なグラフで試していますが、このエラーが出ます。ここでnodejsを使用したハイチャートの基本図

TypeError: Cannot read property 'navigator' of undefined 
    at /opt/node/project/node_modules/highcharts/modules/exporting.js:9:325 
    at /opt/node/project/node_modules/highcharts/modules/exporting.js:27:171 
    at Object.<anonymous> (/opt/node/project/actions/mailrequest.js:3:40) 
    at Module._compile (module.js:570:32) 
    at Object.Module._extensions..js (module.js:579:10) 
    at Module.load (module.js:487:32) 
    at tryModuleLoad (module.js:446:12) 
    at Function.Module._load (module.js:438:3) 
    at Module.runMain (module.js:604:10) 
    at run (bootstrap_node.js:390:7) 

が、これはJSであり、私のコードです:

var Highcharts = require('highcharts'); 
require('highcharts/modules/exporting')(Highcharts); 


var chart = Highcharts.chart('container', { 

    series: [{ 
     name: 'Installation', 
     data: htmldata 
    }, { 
     name: 'Manufacturing', 
     data: [htmldata] 
    }, { 
     name: 'Sales & Distribution', 
     data: [htmldata] 
    }, { 
     name: 'Project Development', 
     data: [null, null, 7988, 12169, 15112, 22452, 34400, 34227] 
    }, { 
     name: 'Other', 
     data: [htmldata] 
    }] 

}); 

私はこのために検索し、明らかにノードいるためですが、私は、これはかなり珍しいです、わかりません。

希望すると助かります。ありがとう。 あなたがいたら、そのようなグラフィックを電子メールで送るのを手伝ってもらえますか?私は基本的なメールを送ることができますが、私はそのチャートを送ってみたいです。 私はすでにグラフを作成する配列を持っています。どんな助けもありがとう。

+0

ノードとハイチャートのどのバージョンですか? –

+0

基本的に、Highchartsはブラウザのチャートライブラリです。そのため、DOMではチャートを生成する必要があります。ノード(たとえばjsdom)でDOM実装を使用していない限り、グラフを作成することはできません。ただし、エクスポートAPIを使用してサーバーからオプションを送信することもできます。docsはこちらhttps://www.highcharts.com/docs/export-module/export-module-overviewノード公開サーバーhttps://を使用することもできますgithub.com/highcharts/node-export-server – morganfree

答えて

0

これは私の初めての質問ですが、この問題を解決することができました。 'TypeError:Highchartsのウェブサイトから基本的なチャートを作成する際に、未定義のプロパティ' navigator 'を読み込めません。私は@morganfreeの指示に従いました。「基本的に、Highchartsはブラウザチャートライブラリです。そのため、DOMでチャートを生成する必要があります。ノード(たとえばjsdom)でDOM実装を使用していない限り、グラフを作成することはできません。 'これは、最も基本的なチャートの実装では機能します。あなたは、他の種類のチャートのためにjsdomに深く潜入する必要があるかもしれません。解決する

ステップ:

  1. をNPMノード-jsdomパッケージをダウンロード - https://www.npmjs.com/package/node-jsdom

  2. あなたがプログラムを起動するために実行メインファイルにこのコードを貼り付けます。

    const jsdom = require("node-jsdom"); 
    
    jsdom.env(
        "https://code.highcharts.com/highcharts.js", 
        ["http://code.jquery.com/jquery.js"], 
        function (errors, window) { 
        console.log("there have been", window.$("a").length, "nodejs 
        releases!"); 
    } 
    ); 
    
  3. フォローこのリンクで1 & 2ステップ - https://www.highcharts.com/docs/getting-started/your-first-chart

  4. HTMLページを再レンダリングするとあなたはHghchartsが提供するデフォルトのチャートが表示されるはずです。 :Dこれは助けて欲しい。

PS。 node-jsdomのドキュメントを読んで、コードスニペットが何をしているかを確認してください。

関連する問題