diff --git a/packages/fes-preset-built-in/src/plugins/misc/route/index.js b/packages/fes-preset-built-in/src/plugins/misc/route/index.js index a5533bda..e111126f 100644 --- a/packages/fes-preset-built-in/src/plugins/misc/route/index.js +++ b/packages/fes-preset-built-in/src/plugins/misc/route/index.js @@ -77,7 +77,9 @@ function getRouteMeta(content) { const defineRouteExpression = ast.program.body.filter(expression => expression.type === 'ExpressionStatement' && expression.expression.type === 'CallExpression' && expression.expression.callee.name === 'defineRouteMeta')[0]; if (defineRouteExpression) { const argument = generator(defineRouteExpression.expression.arguments[0]); - return JSON.parse(argument.code.replace(/'/g, '"').replace(/(\S+):/g, (global, m1) => `"${m1}":`)); + // eslint-disable-next-line no-eval + const fn = eval(`() => (${argument.code})`); + return fn(); } return null; } catch (error) {