2017-07-29 15 views
2

私はモジュラーJSの新人ですが、私はそのコンセプトが好きです。私は物事をテストするために私の小さな図書館を書きたい。カエル - それは5つのメソッド 私のライブラリをモジュール化して組み合わせるには?

  • あなたはグローバル変数をエクスポートする完全なライブラリをダウンロードすることができますがあり

    • :これは私がようにそれを見てみたい方法です。独自に何も持っていないモジュールですが、依存関係として5つのスタンドアロンメソッドをダウンロードします

    • Frogライブラリのすべてのメソッドには、Frog.get()、Frog.animate )等

    私はこれのように書く方法を知っていますが、私はこれをこのようにモジュール化できますか?

    • あなたは5つのモジュールのうち4つをダウンロードすることができ
    • Frog.animateと呼ばれる最初のダウンロードモジュールはの.cssと呼ばれる第二ダウンロードしたモジュールは、前のカエルのオブジェクトを取る
    • .animate方法を空のカエルオブジェクトを作成し、追加します.animateと、そのオブジェクトに追加の.css
    • のように...基本的にメソッドを追加するだけで一つのオブジェクト

    はこの可能のようなものですか?そしてどうやって?私はLodashが非常にモジュール化されていることを知っていて、あなたは方法をチェリーピックすることができます。 _EforEach()の代わりにforEach()のような単なる関数か、それとも別のものですか?

    これらのすべてのフロッグメソッドをどのようにモジュール化する必要がありますか?このようなスタンドアロンの単一機能としてエクスポートしますか?

    var animate = require("./Frog.animate"); 
    animate(something); 
    
  • 答えて

    0

    エクスポートするものはすべてインポートできます。

    frog.js

    const a =() => ...; 
    
    function b() { 
        ... 
    } 
    
    function c() { 
        ... 
    } 
    
    class D { 
        ... 
    } 
    
    module.exports = { a, b, c, D }; 
    

    index.js

    import { a, D } from './frog' 
    

    上記を使用して、あなたもそれを他の方法で回避を行うことができます。サブファイルを別のファイルに作成し、frogライブラリでそれらをインポートして、すべてをモジュールとしてエクスポートします。

    +0

    CommonJSモジュールとESモジュールIMHOを混在させないでください。エラーが発生する可能性があります(特に、 'export default'動作時)。 –

    関連する問題