@slezica answerで展開します。 es6のエクスポートは静的なので、依存関係をどのようにエクスポートするか、作成時にリストする必要性については、それほど創造的ではありません。 commonJSを使用すると、オブジェクトをエクスポートして、どのようにエクスポートするかを柔軟にすることができます。(機能的なアプローチを無視して、コーディングスタイルにするなど、さまざまな方法で行うことができます。
`` `
import * as fns1 from functions;
import * as fns2 from functions;
import toPairs from 'lodash/toPairs';
import fromPairs from 'lodash/fromPairs';
import map from 'lodash/map';
import flowRight from 'lodash/flowRight';
import curryRight from 'lodash/curryRight';
const applyMiddlewareToModule = module => (
flowRight(// lodash's version of compose
fromPairs, // convert back to object
// maps the function from fn to middleware wrapped fn
curryRight((map)(([fnName, fn]) => [fnNane, wrapMiddleware(fn)])),
toPair // convert the provided object to an array of [key, value]
)
)
module.exports = {
...applyMiddlewareToModule(fns1),
...applyMiddlewareToModule(fns2)
}
` ``
いますが、ES6モジュールに固執する場合、私は10を持っている場合は、あなたが1
で輸出1前にそれらをラップすることはできませんより多くの方法をエクスポートするには、このようなすべてのミドルウェアを書く方が良いアプローチだと思いますか? –
これは同じように見えるいくつかのコードにつながる場合でも、これはよりクリーンな方法だと思います。コードを垂直に整列させると(同じ列に 'wrapMiddleware'を呼び出す)、テーブルのように見え、読みやすくなります。しかし、それはプログラムで行うことができます、私は上記の質問を編集します – slezica
これは良いです。しかし、私は名前空間から関数をエクスポートする必要があります。名前空間からオブジェクトをエクスポートする他のソリューションはありますか? –