2016-07-22 5 views
8

ライブラリをip-addressとSystemJSで使用したいのですが(この場合、this questionと似ているかもしれませんが、このタスクを実行しようとすると別の問題が発生します)。SystemJSでインポートする "名前空間"

ライブラリのip-addressは、util-deprecateに依存します。それは次のようにそれをインポート:

var util = require('util'); 

をそして次のようにそれを使用しています:

Address4.prototype.toV6Group = 
    util.deprecate(Address4.prototype.toGroup6, 
    'deprecated: `toV6Group` has been renamed to `toGroup6`'); 

私はとしてノードプロジェクトでのIPアドレスをインポート...

var ipAddress = require('ip-address'); 

..私は何の問題もない。

util.deprecate is not a function 

がどのように私は、このインポートを実行するためにSystemJSを設定することができます。

私はSystemJSプロジェクトのIPアドレスをインポート...

System.import('ip-address'); 

...その後、私はエラーを取得しますか?現在、私がように、それを構成しています...ただ、検索を保存する

const map: any = { 
    'ip-address':'vendor/ip-address', 
    'util':'vendor/util-deprecate' 
} 

const packages: any = { 
    'ip-address': {main:'ip-address.js'}, 
    'util': {main: 'browser'} 
}; 

は、utilの-廃止のbrowser.jsファイルは、それが直接、非推奨の機能をエクスポートしている、hereです。

Address4.prototype.toV6Group = 
    util(Address4.prototype.toGroup6, 
    'deprecated: `toV6Group` has been renamed to `toGroup6`'); 

私ができる場合、私はむしろ、サードパーティのライブラリを変更していないと思います:すべてのコールの形式はなるように、私は、IPアドレスモジュールを変更した場合

注、私はこの仕事を得ることができますしかしそれを避けてください。

答えて

5

問題は、と思ったのですが、ip-addressモジュールではutil-deprecateが使用されていたことが判明しました。それはip-addressモジュールはutilに輸入された方法...

var util = require('util'); 

それはutil-deprecateをインポートするが、ノードのパッケージutilに建てをインポートしていなかったことが判明します。したがって、ip-addressが本当にutil-deprecateを使用するためには、ip-addressモジュールに変更を加える必要があります。

3

というタグが付いているので、非常に簡単な解決策があります。

あなたは、単に使用して、右npmからip-addressをインストールすることができjspmを使用して:あなたのためのすべての依存関係の管理を行います

jspm install npm:ip-address 

を。

私は、ブラウザでこれをテストしてみたip-addressが提供するサンプルコード使用のNode.js:

import {Address6} from 'ip-address' 

const address = new Address6('2001:0:ce49:7601:e866:efff:62c3:fffe'); 

console.log(address.isValid()); // true 

const teredo = address.inspectTeredo(); 

console.log(teredo.client4); // '157.60.0.1' 

をし、それは完全に正常に動作します。

+0

これは4日前に修正されましたhttps://github.com/beaugunderson/ip-address/pull/34 – Pace

+0

@Pace ohh sweetだからこそ動作します。それはあなたが試みたものなのかどうか、あなたの質問からはっきりと分かりませんでした。 – mash

+0

問題ありません、混乱のために申し訳ありません。 – Pace

関連する問題