5

のは、私は再輸出するモジュールを持っているとしましょう:私はreexport.jsをインポートするとES6 /バベルで再エクスポートモジュール全体

//exportme.js 
export default 'EXPORTME'; 
export const test =() => console.log('test function'); 

//reexport.js 
export * from './exportme.js' 

、exportme.jsからデフォルトでは使用できません。

//app.js 
import reexport from './reexport.js' 

console.log(reexport) //undefined 

reexport.jsを次のように動作させる必要があります。

export * from './exportme.js' 
export default from './exportme.js' 

簡単な方法がありますか、これを1つのステートメントにまとめることはできますか?

export default, * from './exportme.js'は機能しません。

私はexportme.jsからtransform-export-extensions

答えて

2

デフォルトで最新バベルを使用していますが

はい、デフォルトの輸出はスターの輸出によって再輸出されていない使用できません。 export * from …の目的は、複数のモジュールからの再エクスポートを許可することです。defaultを複数のモジュールからエクスポートすると、衝突につながるだけです。したがって、明示的に指定する必要があります(名前が必要な場合は、名前付きエクスポートと一緒にデフォルトのエクスポートがないことがよくあります)。

これを行う簡単な方法はありますか、これを1つのステートメントにまとめることはできますか?

いいえ、あなたが持っている2つの行は移動方法です。

2

Bergiが書いたように、ES 6エクスポートを使用してこれを1行で行う方法はありません。ただし、単にあなたが再輸出したいとmodule.exportsに結果を割り当てるモジュールを必要とすることができます

module.exports = require('./exportme.js') 
+0

これは賢いと作品です。残念ながら、私はrequireを使用しないように固執しようとしています! – wlingke

関連する問題