对于这样的情况, /ACollectionOfTinyComponent/index.js
import Container from './Container';
export {
Container,
};
因此,index.js成为一个目录,不必始终将每个组件名称编写出来。因此,在这种情况下,我们可以在另一个组件中导入一个组件,如以下内容:
import {Container} from './ACollectionOfTinyComponent'
//then use Container in the code here
这是不良的做法吗?因为如果我有airbnb linter启用,那么我会得到
的错误覆盖 Prefer default export import/prefer-default-export
它要求我添加default
,但这将导致编译错误
我发现,因为我仅添加了一个 import&index.js
的导出。但是,如果我添加不止一个!例如,如果我做
import Container from './Container';
import Ezeewei from './Ezeewei';
export {
Container,
Ezeewei,
};
请注意,我添加了Ezeewei
的另一种导入。
然后,覆盖规则将通过!
它要求我添加默认值,但这会导致编译错误
您必须使用错误的语法来导出默认值。
export { name1 as default, … };
https://developer.mozilla.org/en-us/docs/web/javascript/Reference/Refereny/Statement/Export#Syntax
import {Container}
...这是不良习惯吗?
是。如果您在组件中有一个入口点(例如A类),则应将其导出为默认值,而不是指定的导出。该语言的设计人员给了默认的导入和导出特殊的语法,以将其作为主要用例进行推广。
http://2ality.com/2014/09/es6-modules-final.html#default-exports-are-are-aveafored