Javascript 在ES 6模块中重新导出默认值

Javascript 在ES 6模块中重新导出默认值,javascript,ecmascript-6,babeljs,es6-modules,Javascript,Ecmascript 6,Babeljs,Es6 Modules,在ES6中,是否可以缩短以下代码。我有一个App.js文件和一个index.js index.js import App from './App'; export default App; export default App from './App.js' 像这样的 export { default as App } from './App.js'; index.js import App from './App'; export default App; export defau

在ES6中,是否可以缩短以下代码。我有一个
App.js
文件和一个
index.js

index.js

import App from './App';

export default App;
export default App from './App.js'
像这样的

export { default as App } from './App.js';
index.js

import App from './App';

export default App;
export default App from './App.js'
如果使用(它是的一部分),则可以使用以下代码重新导出默认值:

export default from "./App.js"
有关更多信息,请参阅


另一种方法(没有此插件)是:


当单独的文件(每个文件都有自己的
导出
)具有所有共同点时,上述是一种非常常见的做法,例如,
utils
,因此,如果想要导入3个实用程序函数,而不必编写多个导入:

从“utils/util\u a”导入util\u a
从“utils/util_b”导入util_b
从“utils/util\u c”导入util\u c
可以在一行中导入任何实用程序:

从“utils”导入{util_a,util_b,util_c}
通过在
/utils
文件夹中创建
index.js
文件,导入所有实用程序的默认值并重新导出,因此
index
文件将作为与该文件夹相关的所有导入的“网关”

import App from './App';

export default App;
⬇ 巴别塔7(带)可以改变以下情况:
相关讨论:

  • TC39提案:

这与前面的答案有点重复,但为了澄清两个选项的区别:

1。默认导出

(这似乎是OP想要的)

从“/App”导出{default}
//在另一个文件中
从“./index”导入应用程序
2。命名导出

从“/App”导出{default as App}
//在另一个文件中
从“./index”导入{App}
这些将与
react
作为vsync的状态一起工作


在默认的“创建反应应用程序”应用程序中,这对我来说是可行的。唯一可行的解决方案是:

import App from './App';

export default App;
如果你像这样导出你的模块

export { default as App } from './App.js';

然后它就不再是默认导出,如果您尝试将其作为默认导入导入,您将得到一个错误。

请参考:
export{default as MyModule}from“/my modue.js”;const{oneSmallFunction}=MyModule
我觉得你的建议很有效。你为什么不把它贴出来作为答案呢?