Skip to content
← Back to rules

vue/define-props-declaration 스타일

작동 방식

이 규칙은 defineProps의 타입 선언 스타일을 강제합니다. 사용자는 타입 기반 또는 런타임 선언을 사용해야 합니다.
이 규칙은 lang="ts"를 가진 <script setup>에서만 작동합니다.

왜 문제인가요?

코드 스타일이 일관되지 않으면 혼란을 유발하고 코드를 더 어렵게 읽을 수 있습니다.

예시

이 규칙에 부적절한 코드 예시:

vue
// "vue/define-props-declaration": ["error", "type-based"]
<script setup lang="ts">
const props = defineProps({
  kind: { type: String },
});
</script>

// "vue/define-props-declaration": ["error", "runtime"]
<script setup lang="ts">
const props = defineProps<{
  kind: string;
}>();
</script>

이 규칙에 적절한 코드 예시:

vue
// "vue/define-props-declaration": ["error", "type-based"]
<script setup lang="ts">
const props = defineProps<{
  kind: string;
}>();
</script>

// "vue/define-props-declaration": ["error", "runtime"]
<script setup lang="ts">
const props = defineProps({
  kind: { type: String },
});
</script>

구성 방법

이 규칙은 다음 중 하나의 문자열 값을 수용합니다:

"type-based"

타입 기반 선언을 강제합니다.

"runtime"

런타임 선언을 강제합니다.

사용 방법

이 규칙을 구성 파일 또는 명령줄 인터페이스에서 활성화하려면 다음과 같이 사용할 수 있습니다:

json
{
  "plugins": ["vue"],
  "rules": {
    "vue/define-props-declaration": "error"
  }
}
bash
oxlint --deny vue/define-props-declaration --vue-plugin

참고 자료