Nuxt 3中如何正确启用Vue 3的reactivityTransform实验特性?
问题根源
你当前的配置有两个直接问题:
- 错误将Vue专属编译配置放在了
vite配置项内部,Vite原生的UserConfig类型定义里根本没有vue字段,这就是你看到类型报错的直接原因。 - Nuxt 3 rc.3 已经内置了
@vitejs/plugin-vue,不会读取vite.vue下的参数传递给Vue插件,所以你写的配置完全不会被加载,自然开不了特性。
正确配置方法
把reactivityTransform配置移到Nuxt配置的顶层vue字段下即可,不需要嵌套在vite配置中,修正后的nuxt.config.ts代码如下:
import { defineNuxtConfig } from "nuxt"; export default defineNuxtConfig({ vue: { reactivityTransform: true } });
注意:修改nuxt配置文件后必须重启开发服务,配置才会生效,热重载不会读取nuxt.config.ts的变更。
配置生效后,你可以直接在SFC组件、composables中使用$ref、$computed、$shallowRef等响应性语法糖,相关的类型支持Nuxt会自动注入,不需要额外手动引入类型声明。
内容的提问来源于stack exchange,提问作者mo3n
相关产品推荐
相关产品推荐

