diff --git a/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap b/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap
index 18b5d90eaf6..aedc13ab14f 100644
--- a/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap
+++ b/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap
@@ -775,6 +775,21 @@ return { get FooBaz() { return FooBaz }, get Last() { return Last } }
})"
`;
+exports[`SFC compile
+
+
+
+
+
+ `)
+ expect(content).toMatch(
+ 'return { get foo() { return foo }, get bar() { return bar }, get Baz() { return Baz } }'
+ )
+ assertCode(content)
+ })
})
describe('inlineTemplate mode', () => {
diff --git a/packages/compiler-sfc/src/script/importUsageCheck.ts b/packages/compiler-sfc/src/script/importUsageCheck.ts
index b42397d573b..29d18f675e8 100644
--- a/packages/compiler-sfc/src/script/importUsageCheck.ts
+++ b/packages/compiler-sfc/src/script/importUsageCheck.ts
@@ -57,6 +57,9 @@ function resolveTemplateUsageCheckString(sfc: SFCDescriptor) {
)}`
}
}
+ if (prop.type === NodeTypes.ATTRIBUTE && prop.name === 'ref') {
+ code += `,${prop.value?.content || ''}`
+ }
}
} else if (node.type === NodeTypes.INTERPOLATION) {
code += `,${processExp(