2016-10-03 4 views
1

最近私のIonic2プロジェクトを2.0.0-beta.11からに更新しました。私はImmutable.js(バージョン^ 3.8.1)を使用しています。アップデート以来、私はコマンドをサーブイオン中に次のエラーが発生しました:immutable.jsはマップをエクスポートしません

[16:50:23] bundle dev started ... 
[16:50:40] Error: Module /myproject/node_modules/immutable/dist/immutable.js does not export Map (imported by /myproject/.tmp/effects/catalog.effects.js) 
at Module.trace (/myproject/node_modules/rollup/dist/rollup.js:7677:29) 
at ModuleScope.findDeclaration (/myproject/node_modules/rollup/dist/rollup.js:7300:22) 
at Scope.findDeclaration (/myproject/node_modules/rollup/dist/rollup.js:5351:39) 
at Scope.findDeclaration (/myproject/node_modules/rollup/dist/rollup.js:5351:39) 
at Scope.findDeclaration (/myproject/node_modules/rollup/dist/rollup.js:5351:39) 
at Scope.findDeclaration (/myproject/node_modules/rollup/dist/rollup.js:5351:39) 
at CallExpression.bind (/myproject/node_modules/rollup/dist/rollup.js:5826:28) 
at /myproject/node_modules/rollup/dist/rollup.js:5151:50 
at ReturnStatement.eachChild (/myproject/node_modules/rollup/dist/rollup.js:5168:5) 
at ReturnStatement.bind (/myproject/node_modules/rollup/dist/rollup.js:5151:7) 

私はapp.module.tsファイルにいくつかの混入を追加する必要がある場合、私は知りません。私はおそらく何かが恋しいです。

ありがとうございました。

+0

[https://github.com/driftyco/ionic-app-scripts/issues/68](https://github.com/driftyco/ionic-app-scripts/issues/68) –

+0

を参照してください問題だった。 Thw !!! –

答えて

2

プロジェクトとセットアップについての詳細を知らなくても、それは問題と解決策は、エラーメッセージが表示されている内容を正確に把握するのは難しい...

Error: Module /myproject/node_modules/immutable/dist/immutable.js does not export Map

は...私たちに手掛かりを与えます。 That fileはUMDモジュールであり、デフォルトではロールアップはJavaScriptモジュール(import/export宣言付き)のみを認識します。 rollup-plugin-commonjsを使用して変換することができますが、実際にコードを実行することなく、ImmutableにMapという名前のエクスポートがあることをロールアップで知る方法がないため、追加の手順が必要です。 (いくつかのケースでは、それはそれを把握う - モジュールはexports.foo = barを、たとえばたときには、名前のfooエクスポートを追加しますが、不変は違ったことを行います。)

だから、我々はロールアップ・プラグインでnamedExportsオプションを使用して、それを助けます-commonjs:CommonJSモジュールのセマンティクスは、ESモジュールに根本的に異なっているので、

plugins: [ 
    commonjs({ 
    include: 'node_modules/**', 
    namedExports: { 
     'node_modules/immutable/dist/immutable.js': [ 'Map', 'Set', ... ] 
    } 
    }), 
    ... 
] 

これは、不幸が、必要です。

+0

これは最初の回答で、申し訳ありませんが、私の質問が十分詳細ではない場合。私は現在、Ionic2/Angular2/RxJS/Immutable.jsの電話アプリを開発しています。私は 'immutable ';から' import {Map}'という構文を使って、私のjsファイルにImmutableを含めています。 beta.11〜rc.0のIonicをアップグレードする前に、このインクルードは正常に機能しました。しかし、アップグレードのインポートが1つのファイルで失敗したので、すべてのファイルでは失敗しました( 'NgModule'ファイルで動作します)。また、 'rollup'、' rollup-plugin-commonjs'、 'rollup-plugin-node-resolve'、' rollup-pluginutils'も使用しています。私はそれが助けることを望む –

関連する問題