64 lines
1.2 KiB
Markdown
64 lines
1.2 KiB
Markdown
|
# `import/no-default-export`
|
||
|
|
||
|
Prohibit default exports. Mostly an inverse of [`prefer-default-export`].
|
||
|
|
||
|
[`prefer-default-export`]: ./prefer-default-export.md
|
||
|
|
||
|
## Rule Details
|
||
|
|
||
|
The following patterns are considered warnings:
|
||
|
|
||
|
```javascript
|
||
|
// bad1.js
|
||
|
|
||
|
// There is a default export.
|
||
|
export const foo = 'foo';
|
||
|
const bar = 'bar';
|
||
|
export default 'bar';
|
||
|
```
|
||
|
|
||
|
```javascript
|
||
|
// bad2.js
|
||
|
|
||
|
// There is a default export.
|
||
|
const foo = 'foo';
|
||
|
export { foo as default }
|
||
|
```
|
||
|
|
||
|
The following patterns are not warnings:
|
||
|
|
||
|
```javascript
|
||
|
// good1.js
|
||
|
|
||
|
// There is only a single module export and it's a named export.
|
||
|
export const foo = 'foo';
|
||
|
```
|
||
|
|
||
|
```javascript
|
||
|
// good2.js
|
||
|
|
||
|
// There is more than one named export in the module.
|
||
|
export const foo = 'foo';
|
||
|
export const bar = 'bar';
|
||
|
```
|
||
|
|
||
|
```javascript
|
||
|
// good3.js
|
||
|
|
||
|
// There is more than one named export in the module
|
||
|
const foo = 'foo';
|
||
|
const bar = 'bar';
|
||
|
export { foo, bar }
|
||
|
```
|
||
|
|
||
|
```javascript
|
||
|
// export-star.js
|
||
|
|
||
|
// Any batch export will disable this rule. The remote module is not inspected.
|
||
|
export * from './other-module'
|
||
|
```
|
||
|
|
||
|
## When Not To Use It
|
||
|
|
||
|
If you don't care if default imports are used, or if you prefer default imports over named imports.
|