Skip to content
← Back to rules

import/no-anonymous-default-export 스타일

작동 방식

모듈의 기본 내보내기가 이름이 없는 경우 보고합니다. 이는 여러 종류의 이름이 없는 데이터 타입을 포함합니다; 리터럴, 객체 표현식, 배열, 익명 함수, 화살표 함수, 익명 클래스 선언 등입니다.

왜 문제가 되는가?

기본 내보내기의 이름을 보장함으로써, 모듈의 기본 내보내기 선언 위치와 사용 위치에서 동일한 식별자를 재사용하도록 유도함으로써 코드베이스의 검색 가능성(검색 용이성)을 향상시킵니다.

예시

이 규칙에 대한 잘못된 코드 예시:

js
export default [];
export default () => {};
export default class {};
export default function() {};
export default foo(bar);
export default 123;
export default {};
export default new Foo();
export default `foo`;
export default /^123/;

이 규칙에 대한 올바른 코드 예시:

js
const foo = 123;
export default foo;
export default function foo() {};
export default class MyClass {};
export default function foo() {};
export default foo(bar);
/* import/no-anonymous-default-export: ["error", { "allowLiteral": true }] */
export default 123;
/* import/no-anonymous-default-export: ["error", { "allowArray": true }] */
export default []
/* import/no-anonymous-default-export: ["error", { "allowArrowFunction": true }] */
export default () => {};
/* import/no-anonymous-default-export: ["error", { "allowAnonymousClass": true }] */
export default class {};
/* import/no-anonymous-default-export: ["error", { "allowAnonymousFunction": true }] */
export default function() {};
/* import/no-anonymous-default-export: ["error", { "allowObject": true }] */
export default {};
/* import/no-anonymous-default-export: ["error", { "allowNew": true }] */
export default new Foo();
/* import/no-anonymous-default-export: ["error", { "allowCallExpression": true }] */
export default foo(bar);

기본적으로 모든 종류의 익명 기본 내보내기는 금지됩니다. 그러나 옵션에서 해당 타입들을 선택적으로 허용할 수 있습니다.

구성

이 규칙은 다음 속성을 가진 구성 객체를 수락합니다:

allowAnonymousClass

type: boolean

기본값: false

익명 클래스를 기본 내보내기로 허용합니다.

allowAnonymousFunction

type: boolean

기본값: false

익명 함수를 기본 내보내기로 허용합니다.

allowArray

type: boolean

기본값: false

익명 배열을 기본 내보내기로 허용합니다.

allowArrowFunction

type: boolean

기본값: false

익명 화살표 함수를 기본 내보내기로 허용합니다.

allowCallExpression

type: boolean

기본값: true

익명 호출 표현식을 기본 내보내기로 허용합니다.

allowLiteral

type: boolean

기본값: false

익명 리터럴을 기본 내보내기로 허용합니다.

allowNew

type: boolean

기본값: false

익명 new 표현식을 기본 내보내기로 허용합니다.

allowObject

type: boolean

기본값: false

익명 객체를 기본 내보내기로 허용합니다.

사용 방법

이 규칙을 설정 파일이나 명령줄 인터페이스를 통해 활성화하려면 다음을 사용할 수 있습니다:

json
{
  "plugins": ["import"],
  "rules": {
    "import/no-anonymous-default-export": "error"
  }
}
bash
oxlint --deny import/no-anonymous-default-export --import-plugin

참고 자료