2017-11-01 29 views
0

はionic3アプリのいずれかのサービスjsnetworkxライブラリをionic projectまたはangular 4プロジェクトに追加するにはどうすればよいですか?

import * as jsnx from 'jsnetworkx'; 

では出力に含まエラーがこの

Uncaught (in promise): Error: Cannot find module "lodash/lang/isPlainObject" Error: Cannot find module "lodash/lang/isPlainObject" at webpackMissingModule 

である私は、このよう

import jsnx = require('jsnetworkx'); 

それを宣言しようとしたエラーは、この

Uncaught (in promise): ReferenceError: jsnx is not defined ReferenceError: jsnx is not defined at 
です

両方のパッケージがインストールされています

..., 
"jsnetworkx": "^0.3.4", 
"lodash": "^4.17.4", 
... 

どのようにすればよいのですか?

ノードが正常に動作するライブラリ。

+0

たぶん、あなたがいる限り、それはないとして、ライブラリをインポートするhttps://hackernoon.com/how-to-use-javascript-libraries-in-angular-2-apps-ff274ba601afこのアプローチを試すことができますES6モジュール形式でエクスポートされているようです。 –

+0

問題は、ionicではψ-cli.jsonファイルが存在せず、スクリプトに入れることができないことです:[] jsnetworkxライブラリ – alehn96

答えて

2

Iは次にjsnetworkxをインポートそして角度-cli.jsonに

// angular-cli.json 
scripts: [ 
    "../node_modules/d3/d3.min.js" 
] 

をD3スクリプトをロードjsnetworkx

npm install --save [email protected]^3.0.0 
npm install --save jsnetworkx 

並んD3のV3(jsnetworkxの依存)をインストールすることによって、この作業を取得することができましたコンポーネントに入れる

// component.ts 
import * as jsnx from 'jsnetworkx'; 

これで、そのコンポーネント内で使用できます

// component.ts 
ngOnInit(){ 
    // basic jsnetworkx example 
    let G = new jsnx.Graph(); 

    G.addWeightedEdgesFrom([[2,3,10]]); 
    G.addStar([3,4,5,6], {weight: 5}); 
    G.addStar([2,1,0,-1], {weight: 3}); 

    jsnx.draw(G, { 
     element: '#canvas', 
     weighted: true, 
     edgeStyle: { 
      'stroke-width': 10 
     } 
    }); 
} 

// component.html 
<div id="canvas"></div> 
+0

同じエラーUncaught(約束):エラー:モジュール "lodash/lang/isPlainObject "エラー:webpackMissingModuleにモジュール" lodash/lang/isPlainObject "が見つかりません。 – alehn96

+0

@ alehn96あなたが使用しているコンポーネントjsnetworkxコードを投稿できますか? – LLai

+0

私はd3をインストールしましたがイオン性のものは存在しません。角型のcli.json、ionic serveを実行すると、モジュールlodashで同じエラーが発生します – alehn96