diff --git a/packages/uni-cli-shared/src/json/mp/types.ts b/packages/uni-cli-shared/src/json/mp/types.ts index c63d57a731be636c8cc8dc559962fede4844fc9b..257e9dc8a201a0a652da7785dbdf9420d01ddd57 100644 --- a/packages/uni-cli-shared/src/json/mp/types.ts +++ b/packages/uni-cli-shared/src/json/mp/types.ts @@ -125,4 +125,5 @@ export interface AppJson { lazyCodeLoading?: 'requiredComponents' | string singlePage?: SinglePage restartStrategy?: RestartStrategy + [name: string]: unknown } diff --git a/packages/uni-mp-alipay/dist/uni.compiler.js b/packages/uni-mp-alipay/dist/uni.compiler.js index 41507f601ce51e73e8d93b8ab6f4ea3233354b15..727a72dac34c1cfa0a57ff5c9b13075c6d39d9e6 100644 --- a/packages/uni-mp-alipay/dist/uni.compiler.js +++ b/packages/uni-mp-alipay/dist/uni.compiler.js @@ -221,6 +221,11 @@ const options = { darkmode: false, subpackages: true, plugins: true, + normalize(appJson) { + // 支付宝小程序默认主包,分包 js 模块不共享,会导致 getCurrentInstance,setCurrentInstance 不一致 + appJson.subPackageBuildType = 'shared'; + return appJson; + }, }, project: { filename: projectConfigFilename, diff --git a/packages/uni-mp-alipay/src/compiler/options.ts b/packages/uni-mp-alipay/src/compiler/options.ts index e45b30ef1c97ecf44b068e3059ee4b8a3a82ef2d..f8948fb76031026d2ff0bcbaeac7dc0da0cb0842 100644 --- a/packages/uni-mp-alipay/src/compiler/options.ts +++ b/packages/uni-mp-alipay/src/compiler/options.ts @@ -102,6 +102,11 @@ export const options: UniMiniProgramPluginOptions = { darkmode: false, subpackages: true, plugins: true, + normalize(appJson) { + // 支付宝小程序默认主包,分包 js 模块不共享,会导致 getCurrentInstance,setCurrentInstance 不一致 + appJson.subPackageBuildType = 'shared' + return appJson + }, }, project: { filename: projectConfigFilename, diff --git a/packages/uni-mp-vite/src/plugin/index.ts b/packages/uni-mp-vite/src/plugin/index.ts index 9a4fdf156fc9fd2910a709e06840f255de9dcdf1..8e87656cdbcd6a189b772f6cb60f82de12cc8b62 100644 --- a/packages/uni-mp-vite/src/plugin/index.ts +++ b/packages/uni-mp-vite/src/plugin/index.ts @@ -10,6 +10,7 @@ import { MiniProgramCompilerOptions, initPostcssPlugin, parseRpx2UnitOnce, + AppJson, } from '@dcloudio/uni-cli-shared' import type { SFCDescriptor, @@ -58,6 +59,7 @@ export interface UniMiniProgramPluginOptions { * 是否支持发行插件 */ plugins?: boolean + normalize?: (appJson: AppJson) => AppJson } project?: { filename: string diff --git a/packages/uni-mp-vite/src/plugins/pagesJson.ts b/packages/uni-mp-vite/src/plugins/pagesJson.ts index 618e446bfc8326128b1ef871c14433832b6e8d42..a3655e554922f13bdb58d2710ad9f7ca3d142c64 100644 --- a/packages/uni-mp-vite/src/plugins/pagesJson.ts +++ b/packages/uni-mp-vite/src/plugins/pagesJson.ts @@ -69,7 +69,8 @@ export function uniPagesJsonPlugin( if (options.json?.formatAppJson) { options.json.formatAppJson(appJson, manifestJson, pageJsons) } - addMiniProgramAppJson(appJson) + const { normalize } = options.app + addMiniProgramAppJson(normalize ? normalize(appJson) : appJson) Object.keys(pageJsons).forEach((name) => { addMiniProgramPageJson(name, pageJsons[name]) }) diff --git a/packages/uni-mp-vue/dist/vue.runtime.esm.js b/packages/uni-mp-vue/dist/vue.runtime.esm.js index 8fac8c22b692d91baf7b0a53b18f8bf9e8711af4..d3aaa8e209b35d2719c87e57bf224c968d2d9a8f 100644 --- a/packages/uni-mp-vue/dist/vue.runtime.esm.js +++ b/packages/uni-mp-vue/dist/vue.runtime.esm.js @@ -1413,12 +1413,6 @@ function queueFlush() { currentFlushPromise = resolvedPromise.then(flushJobs); } } -function invalidateJob(job) { - const i = queue.indexOf(job); - if (i > flushIndex) { - queue.splice(i, 1); - } -} function queueCb(cb, activeQueue, pendingQueue, index) { if (!isArray(cb)) { if (!activeQueue || @@ -4430,6 +4424,12 @@ function unwrapper(target) { } function defineAsyncComponent(source) { console.error('defineAsyncComponent is unsupported'); +} +function invalidateJob(job) { + const i = queue.indexOf(job); + if (i > -1) { + queue.splice(i, 1); + } } // import deepCopy from './deepCopy' diff --git a/packages/uni-mp-vue/lib/vue.runtime.esm.js b/packages/uni-mp-vue/lib/vue.runtime.esm.js index ce2349c24a90543ebe880be5a3c48f945a094eaa..d060ae618c778a0b617222c667439e8b8e630855 100644 --- a/packages/uni-mp-vue/lib/vue.runtime.esm.js +++ b/packages/uni-mp-vue/lib/vue.runtime.esm.js @@ -1413,12 +1413,6 @@ function queueFlush() { currentFlushPromise = resolvedPromise.then(flushJobs); } } -function invalidateJob(job) { - const i = queue.indexOf(job); - if (i > flushIndex) { - queue.splice(i, 1); - } -} function queueCb(cb, activeQueue, pendingQueue, index) { if (!isArray(cb)) { if (!activeQueue || @@ -4430,6 +4424,12 @@ function unwrapper(target) { } function defineAsyncComponent(source) { console.error('defineAsyncComponent is unsupported'); +} +function invalidateJob(job) { + const i = queue.indexOf(job); + if (i > -1) { + queue.splice(i, 1); + } } // import deepCopy from './deepCopy'