diff --git a/packages/fes-preset-built-in/src/plugins/route/index.js b/packages/fes-preset-built-in/src/plugins/route/index.js
index c26f3725..cfef4d86 100644
--- a/packages/fes-preset-built-in/src/plugins/route/index.js
+++ b/packages/fes-preset-built-in/src/plugins/route/index.js
@@ -113,18 +113,20 @@ const genRoutes = function (parentRoutes, path, parentRoutePath, config) {
const routeName = getRouteName(parentRoutePath, fileName);
const componentPath = getComponentPath(parentRoutePath, ext === '.vue' ? `${fileName}${ext}` : fileName, config);
- let content = readFileSync(component, 'utf-8');
+ const content = readFileSync(component, 'utf-8');
let routeMeta = {};
if (ext === '.vue') {
const { descriptor } = parse(content);
const routeMetaBlock = descriptor.customBlocks.find((b) => b.type === 'config');
routeMeta = routeMetaBlock?.content ? JSON.parse(routeMetaBlock.content) : {};
if (descriptor.script) {
- content = descriptor.script.content;
- routeMeta = getRouteMeta(content) || routeMeta;
+ routeMeta = getRouteMeta(descriptor.script.content) || routeMeta;
}
- }
- if (ext === '.jsx' || ext === '.tsx') {
+ // 优先使用 descriptor.script, 兼容 script 和 script setup 同时存在的情况
+ if (descriptor.scriptSetup && lodash.isEmpty(routeMeta)) {
+ routeMeta = getRouteMeta(descriptor.scriptSetup.content) || routeMeta;
+ }
+ } else if (ext === '.jsx' || ext === '.tsx') {
routeMeta = getRouteMeta(content) || {};
}
diff --git a/packages/fes-template-h5/src/pages/index.vue b/packages/fes-template-h5/src/pages/index.vue
index a3e140ad..d118c505 100644
--- a/packages/fes-template-h5/src/pages/index.vue
+++ b/packages/fes-template-h5/src/pages/index.vue
@@ -1,70 +1,13 @@
-
- fes h5 & 拉夫德鲁
-
-
-
+ fes h5 & 拉夫德鲁
-
-
-
diff --git a/packages/fes-template/src/pages/index.vue b/packages/fes-template/src/pages/index.vue
index 5d9811a3..41275d99 100644
--- a/packages/fes-template/src/pages/index.vue
+++ b/packages/fes-template/src/pages/index.vue
@@ -5,17 +5,14 @@
-
-
-
-{
- "name": "index",
- "title": "$home"
-}
-