2017-02-09 12 views
0

私はES6の構文で遊んでいて、別のnpmモジュール(push-jsなど)を依存関係として使用するNPMに小さなモジュールを構築したいと考えています。現在は、ロールアップを使用してバンドルし、配布ファイルを生成しています。フロントエンドES6モジュールで使用するnode_modules依存関係をインポートする方法

自分のモジュールで使用するために依存関係を含める正しい方法がわかりません。これは私が試したものを

import * as Push from 'push.js'; 

class _MyModule 
{ 
    Push.create("Go ahead, click this notification", { 

    }); 
} 

ロールアップは、このコードに次のエラーがトリガされます。

events.js:160 
     throw er; // Unhandled 'error' event 
    ^
Error: Unexpected token 

私はここで根本的に間違って何かをやっていますか?助けてくれてありがとう! gulpfileのような情報が必要な場合はお知らせください。

答えて

1

あなたは十分に近いです。しかし、少なくとも現在のトランスバーラー(Babel and co。)では、CommonJSモジュールの輸出はデフォルト輸出と同様に扱われます。つまり、すべての別個のエンティティ(import * as Push)をインポートするのではなく、デフォルトのエクスポート(import Push)をインポートするだけです。

import Push from 'push.js'; 

class _MyModule 
{ 
    constructor() { 
     Push.create("Go ahead, click this notification", { 

     }); 
    } 
} 

CommonJSとESモジュール間の実際の相互運用性がどのように解決されるかはまだ確定されていません。 See Axel Rauschmayr's blog post on the subject.

+0

私はプッシュライブラリを解決するためにnodeResolveとcommonjs(今理にかなって)ゴクゴクでプラグインを追加する必要があることが分かりました。あなたのご意見は、私がそれを解決するのを助けました。私は自分のモジュールコードで "プッシュ"オブジェクトを使用しようとするところからまだエラーが発生しています。まだ何が残っているのか? – Jorre

+0

お待ちください、これはあなたのgulp設定についてですか?あなたの麻薬コードがどのようなものかわからないので、私はあなたの問題が何であるか分かりません。 – nils

+0

あなたの答えは問題を解決しました、ありがとうございます!その後、それは私のところでは誤りでした。ちょうど正しい構文ではないクラスを見てください。クラスに関数を追加することが完全に見落とされ、push.createが呼び出されます。再度、感謝します! – Jorre

関連する問題