exports
キーワードを使用して、モジュール内のエクスポートされた値にアクセスできますか? (それはes6モジュール仕様の一部ですか?) webpackとbabel/commonjsモジュールでうまく動作しているようですが、exports
キーワードにはエクスポートされたすべてのメソッドへの参照が含まれています。commonjs-webpackでexportsキーワードを使用しても問題ありません1
しかし、私の懸念は、これは有効ではない可能性があり、おそらくこれはバベル/コモンズ環境であるため可能です。
bindMethods
メソッドは、明示的に宣言することなく、このモジュールのすべてのメソッドに動的にアクセスできるため、実際にどのエクスポートが使用されているかを判断することは不可能なので、これがツリーシェイキングにどのように影響するかはわかりません。名前。
例:
import bindMethods from 'module';
var binder = bindMethods(exports);
export function foo(value){
binder(value).bar();
}
export function bar(value){
binder(value).foo();
}
'exportsはES6モジュールとは関係ありません。これは、ES6がBabelを介してCJSモジュールでES5にコンパイルされているためです。上記のコードは、ネイティブES6モジュールが到着すると動作しません。 – estus