从 '.' 导入 {} 是什么意思做?

What does import {} from '.' do?

我正在查看 some source code of a library,我看到了这个导入

import {SheetsRegistry, JssProvider, withStyles} from '.'

这是做什么的?它如何导入 from '.' ?

您共享的代码从同一目录中的 index.js 导入这些声明。

index.js:

// @flow
import withStyles from './withStyles'

export {ThemeProvider, withTheme, createTheming, useTheme} from 'theming'
export {default as createUseStyles} from './createUseStyles'
export {default as JssProvider} from './JssProvider'
export {default as jss} from './jss'
export {SheetsRegistry, createGenerateId} from 'jss'
export {default as JssContext} from './JssContext'
export {default as styled} from './styled'
export {default as jsx, create as createJsx} from './jsx'
export {withStyles}

// Kept for backwards compatibility.
export default withStyles

在此示例中,index.js 用于重新导出 src 目录中的某些声明。这种模式可以更轻松地移动声明,而无需重写许多导入。

******命名导出和默认导出的区别。******

1-命名导出

Constant.js

中导出函数、常量、变量...等
export const CREATE = 'CREATE';
export const DELETE = 'DELETE';

像这样导入 index.js

import {CREATE,DELETE} from './Constants';

2-默认导出

Constant.js

中导出
const update = ()=> 'UPDATE'
export default update();

并在 index.js

中像这样导入
import UPDATE from './Constants';