2017-08-22 5 views
0

現在、角度4.xのライブラリ(TypeScriptで書かれています)で作業しています。必要なJavaScriptバンドルはRollupで作成されます。 big.js libraryとそれに対応するタイピング(@types/big.js)を追加するまでは、すべてうまくいきました。Big.jsを使用するとロールアップエラーが発生する

私はこのようにそれをインポートします。

import * as Big from 'big.js'; 
import BigJS = BigJsLibrary.BigJS; 

そして、このようにそれを使用します。

// instantiating 
let bigValue = Big(value); 

// example of parameter usage 
private someFunction(value: BigJS) { /* some code */ } 

ロールアップを実行しているとき、私は今、次のエラーが表示さ:Error: Cannot call a namespace ('Big')を。私の最初の考えは、ロールアップ(external: [ 'big.js' ])の外部のリストにbig.jsを追加することでした。しかしこれは問題を解決しません。

私はBigJSライブラリはなし(デフォルト)の輸出を持っていないことを見ることができたので、私はこのようcommonjsnodeResolveロールアップのプラグインを使用してみました:

plugins: [ 
     nodeResolve({ 
      jsnext: true, 
      main: true 
     }), 
     commonjs({}) 
    ] 

は、私が何かを明らかに監督てる感じを持っています。誰かが私がここで作っている間違いを指摘できれば、私は感謝しています。

答えて

0

名前空間* as Big部分)を呼び出すことは、ESモジュールと互換性のないタイプスクリプトのイディオムです。代わりにこれを試してみてください:

import Big from 'big.js'; 

Big.jsはCommonJSモジュールなので、node-resolveプラグインとcommonjsプラグインが必要です。

+0

ああ、それがTypeScriptの構成であることを忘れてしまった。間違いを指摘してくれてありがとう! –

関連する問題