From f6c884eca00ac610467c08a10d6cc114f5f3d8f2 Mon Sep 17 00:00:00 2001 From: winixt Date: Mon, 10 Oct 2022 16:25:07 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20defineRouteMeta=20parse=20=E5=BC=82?= =?UTF-8?q?=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/fes-preset-built-in/src/plugins/misc/route/index.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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) {