From eed740107cd43bf8d8f67fe1a53bc993e2575328 Mon Sep 17 00:00:00 2001 From: fxy060608 Date: Mon, 22 Nov 2021 12:09:37 +0800 Subject: [PATCH] fix(mp): import Page as Component --- packages/uni-mp-vite/src/plugins/usingComponents.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/uni-mp-vite/src/plugins/usingComponents.ts b/packages/uni-mp-vite/src/plugins/usingComponents.ts index e54f26d9d..1fb049a21 100644 --- a/packages/uni-mp-vite/src/plugins/usingComponents.ts +++ b/packages/uni-mp-vite/src/plugins/usingComponents.ts @@ -8,8 +8,9 @@ import { normalizeMiniProgramFilename, addMiniProgramUsingComponents, removeExt, + isPageFile, } from '@dcloudio/uni-cli-shared' -import { virtualComponentPath } from './entry' +import { virtualComponentPath, virtualPagePath } from './entry' export function uniUsingComponentsPlugin( options: Partial = {} @@ -50,5 +51,13 @@ export function uniUsingComponentsPlugin( } export function dynamicImport(name: string, value: string) { + // 开发者可能将页面作为组件来引用 + const relativePath = normalizeMiniProgramFilename( + value, + process.env.UNI_INPUT_DIR + ) + if (isPageFile(relativePath)) { + return `const ${name} = ()=>import('${virtualPagePath(value)}')` + } return `const ${name} = ()=>import('${virtualComponentPath(value)}')` } -- GitLab