在ES6中,是否可以缩短以下代码。我有一个App.js文件和一个index.js文件。
App.js
index.js
索引.js
import App from './App'; export default App;
像这样的东西
export default App from './App.js'
pes8fvy91#
如果您使用proposal-export-default-from Babel plugin(它是stage-1 preset的一部分),则可以使用以下代码重新导出default:
proposal-export-default-from
stage-1
export default from "./App.js"
有关详细信息,请参阅ECMAScript提案。另一种方法(不使用此插件)是:
export { default as App } from "./App.js"
当单独的文件(每个文件都有自己的export)具有所有共同点(例如,utils)时,上述是一种非常常见的做法,因此,例如,如果一个人想要导入3个 * 实用 * 函数,而不是必须编写多个 * 导入 *:
export
utils
import util_a from 'utils/util_a' import util_b from 'utils/util_b' import util_c from 'utils/util_c'
您可以在单行中导入任何实用程序:
import { util_a, util_b , util_c } from 'utils'
通过在/utils文件夹中创建一个index.js文件,并导入其中所有实用程序的所有默认值,然后重新导出,这样index文件将作为与该文件夹相关的所有导入的“网关”。
/utils
index
mqxuamgl2#
这与前面的回答有点重复,但为了澄清两个选项的区别:
(This似乎是OP想要的)
// index.ts export { default } from './App'
然后,在另一个文件中:
import App from './index'
export { default as App } from './App'
import { App } from './index'
如果./App使用命名导出,但您希望将其作为默认导出重新导出,也可以执行此操作:
./App
export { App as default } from './App'
这些将与react一起作为vsync的answer状态工作。
react
假设您有一个导出多个项目的文件:
// App.ts export const first = 1 export const second = 2 const final = 3 export default final
然后,您可以直接重新导出它们:
// index.ts export * from './App'
您现在可以轻松地汇入这些项目:
import final, { first, second } from './index'
*
您可以将其他文件导出的所有变量作为单个变量导入。
// index.ts import * as App from './App' App.first === 1 // true
mrwjdhj33#
@babel/preset-react
export { default as App } from './App.js';
相关讨论:
erhoui1w4#
唯一可行的解决办法是:
如果像这样导出模块
那么它就不再是默认导出,如果您尝试将其作为默认导入导入,则会出现错误。
m1m5dgzv5#
import App from './App'; export default (App);
这在默认'create-react-app'应用程序中适用
5条答案
按热度按时间pes8fvy91#
如果您使用
proposal-export-default-from
Babel plugin(它是stage-1
preset的一部分),则可以使用以下代码重新导出default:有关详细信息,请参阅ECMAScript提案。
另一种方法(不使用此插件)是:
当单独的文件(每个文件都有自己的
export
)具有所有共同点(例如,utils
)时,上述是一种非常常见的做法,因此,例如,如果一个人想要导入3个 * 实用 * 函数,而不是必须编写多个 * 导入 *:您可以在单行中导入任何实用程序:
通过在
/utils
文件夹中创建一个index.js
文件,并导入其中所有实用程序的所有默认值,然后重新导出,这样index
文件将作为与该文件夹相关的所有导入的“网关”。mqxuamgl2#
这与前面的回答有点重复,但为了澄清两个选项的区别:
1.默认导出
(This似乎是OP想要的)
然后,在另一个文件中:
2.已命名的导出
然后,在另一个文件中:
奖励:已命名→默认导出
如果
./App
使用命名导出,但您希望将其作为默认导出重新导出,也可以执行此操作:然后,在另一个文件中:
这些将与
react
一起作为vsync的answer状态工作。奖金2:导出所有内容
假设您有一个导出多个项目的文件:
然后,您可以直接重新导出它们:
您现在可以轻松地汇入这些项目:
奖金3:
*
导入您可以将其他文件导出的所有变量作为单个变量导入。
mrwjdhj33#
巴别塔7(用
@babel/preset-react
表示)可以变换下图:相关讨论:
erhoui1w4#
唯一可行的解决办法是:
如果像这样导出模块
那么它就不再是默认导出,如果您尝试将其作为默认导入导入,则会出现错误。
m1m5dgzv5#
这在默认'create-react-app'应用程序中适用