From 3f1abb210a9bc4103831438dbc0dc8f02b6bbbf5 Mon Sep 17 00:00:00 2001 From: LCJ-MinYa <1049468118@qq.com> Date: Wed, 15 Oct 2025 15:45:07 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=A7=A3=E5=86=B3=E6=9C=AA=E8=B0=83?= =?UTF-8?q?=E7=94=A8=E5=87=BD=E6=95=B0=E6=89=93=E5=8C=85=E8=A2=AB=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E9=97=AE=E9=A2=98=EF=BC=8C=E5=AF=BC=E8=87=B4eval?= =?UTF-8?q?=E8=B0=83=E7=94=A8=E6=8A=A5=E9=94=99=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/dynamicImport/dynamicModule/moduleA.js | 13 ++++++++++++- .../demo/dynamicImport/dynamicModule/moduleB.js | 13 ++++++++++++- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/views/demo/dynamicImport/dynamicModule/moduleA.js b/src/views/demo/dynamicImport/dynamicModule/moduleA.js index 308587d..26b4fdc 100644 --- a/src/views/demo/dynamicImport/dynamicModule/moduleA.js +++ b/src/views/demo/dynamicImport/dynamicModule/moduleA.js @@ -22,8 +22,19 @@ const getData = (params) => { }; }; +// 创建函数映射对象 +const functionMap = { + init, + getData, +}; + export default function (params) { // console.log('moduleA'); // console.log(params); - return eval(params.type + '(params)'); + + // 方式一(打包时因为没有调用init, getData方法,所以会删除导致报错,改为方式二就没问题) + // return eval(params.type + '(params)'); + + // 方式二 + return functionMap[params.type](params); } diff --git a/src/views/demo/dynamicImport/dynamicModule/moduleB.js b/src/views/demo/dynamicImport/dynamicModule/moduleB.js index 232c9ac..0b32699 100644 --- a/src/views/demo/dynamicImport/dynamicModule/moduleB.js +++ b/src/views/demo/dynamicImport/dynamicModule/moduleB.js @@ -22,8 +22,19 @@ const getData = (params) => { }; }; +// 创建函数映射对象 +const functionMap = { + init, + getData, +}; + export default function (params) { // console.log('moduleB'); // console.log(params); - return eval(params.type + '(params)'); + + // 方式一(打包时因为没有调用init, getData方法,所以会删除导致报错,改为方式二就没问题) + // return eval(params.type + '(params)'); + + // 方式二 + return functionMap[params.type](params); }