---
url: /docs/guide/usage/linter/rules/vue/no-import-compiler-macros.md
---

### 作用

禁止导入 Vue 编译器宏。

### 为什么这样不好？

以下编译器宏：

* `defineProps`
* `defineEmits`
* `defineExpose`
* `withDefaults`
* `defineModel`
* `defineOptions`
* `defineSlots`

在 Vue 3 的 `<script setup>` 中是全局可用的，不需要显式导入。

### 示例

以下是此规则的**错误**代码示例：

```vue
<script setup>
import { defineProps, withDefaults } from "vue";
</script>
```

以下是此规则的**正确**代码示例：

```vue
<script setup>
import { ref } from "vue";
</script>
```

## 如何使用

## 版本

此规则新增于 v1.21.0。

## 参考资料
