Commit d3397e6 1 parent dbe1f4a commit d3397e6 Copy full SHA for d3397e6
File tree 1 file changed +10
-1
lines changed
1 file changed +10
-1
lines changed Original file line number Diff line number Diff line change @@ -207,6 +207,8 @@ async function genTemplateCode(
207
207
}
208
208
}
209
209
210
+ const exportDefaultClassRE = / e x p o r t \s + d e f a u l t \s + c l a s s \s + ( [ \w $ ] + ) /
211
+
210
212
async function genScriptCode (
211
213
descriptor : SFCDescriptor ,
212
214
options : ResolvedOptions ,
@@ -226,7 +228,14 @@ async function genScriptCode(
226
228
( ! script . lang || ( script . lang === 'ts' && options . devServer ) ) &&
227
229
! script . src
228
230
) {
229
- scriptCode = rewriteDefault ( script . content , `_sfc_main` )
231
+ const classMatch = script . content . match ( exportDefaultClassRE )
232
+ if ( classMatch ) {
233
+ scriptCode =
234
+ script . content . replace ( exportDefaultClassRE , `class $1` ) +
235
+ `\nconst _sfc_main = ${ classMatch [ 1 ] } `
236
+ } else {
237
+ scriptCode = rewriteDefault ( script . content , `_sfc_main` )
238
+ }
230
239
map = script . map
231
240
if ( script . lang === 'ts' ) {
232
241
const result = await options . devServer ! . transformWithEsbuild (
You can’t perform that action at this time.
0 commit comments