From 77ec173fbd3d14799aac82c1f567ccd5ed4e99c7 Mon Sep 17 00:00:00 2001 From: Xc Date: Fri, 7 Jun 2024 18:43:47 +0800 Subject: [PATCH] =?UTF-8?q?i18n=E5=A4=84=E7=90=86=E8=BF=9B=E4=B8=80?= =?UTF-8?q?=E6=AD=A5=E5=BC=BA=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/babel-plugin/oakI18n.js | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/config/babel-plugin/oakI18n.js b/config/babel-plugin/oakI18n.js index b972e65..a50c0ee 100644 --- a/config/babel-plugin/oakI18n.js +++ b/config/babel-plugin/oakI18n.js @@ -167,7 +167,30 @@ module.exports = (babel) => { if (arg1) { // 一般是对象,也可能是变量,表达式不予考虑 - if (t.isObjectExpression(arg1)) { + // 加上Object.assign({ '#oakNamespace': xxx, '#oakModule': xxx }, arg1); + if (t.isCallExpression(arg1) && t.isMemberExpression(arg1.name) && t.isIdentifier(arg1.name.object) + && arg1.name.object.name === 'Object' && t.isIdentifier(arg1.name.property) && arg1.name.property.name === 'assign') { + // 不处理,这里似乎会被反复调用,不知道为什么 + } + else { + arguments.splice(1, 1, t.callExpression( + t.memberExpression( + t.identifier('Object'), + t.identifier('assign') + ), + [ + t.objectExpression( + [ + t.objectProperty(t.stringLiteral(oakNsPropName), t.stringLiteral(ns)), + t.objectProperty(t.stringLiteral(oakModulePropName), t.stringLiteral(moduleName)) + ] + ), + arg1 + ] + )); + } + + /* if (t.isObjectExpression(arg1)) { const { properties } = arg1; const oakNsProp = properties.find( ele => t.isStringLiteral(ele.key) && ele.key.value === oakNsPropName @@ -198,7 +221,7 @@ module.exports = (babel) => { } else { // 不处理,这里似乎会反复调用,不知道为什么 - } + } */ } else { // 如果无参数就构造一个对象传入