diff --git a/packages/uni-cli-shared/src/resolve.ts b/packages/uni-cli-shared/src/resolve.ts index 0b50c18255e1d00cd9186c404adb424d87d0c731..f555c55e3134aa8fad060b87990f3bf48a9f029a 100644 --- a/packages/uni-cli-shared/src/resolve.ts +++ b/packages/uni-cli-shared/src/resolve.ts @@ -149,6 +149,12 @@ export function resolveUtsAppModule(id: string, importer: string) { } } +export function resolveUtsModuleProxyFile(id: string, importer: string) { + const file = resolveUtsAppModule(id, importer) + if (file) { + return '\0' + file + '?uts-proxy' + } +} // 仅限 root/uni_modules/test-plugin | root/utssdk/test-plugin 格式 export function resolveUtsModule( id: string, @@ -156,7 +162,7 @@ export function resolveUtsModule( platform: typeof process.env.UNI_UTS_PLATFORM ) { if (process.env.UNI_PLATFORM === 'app') { - return + return resolveUtsAppModule(id, importer) } id = path.resolve(importer, id) if (id.includes('utssdk') || id.includes('uni_modules')) { diff --git a/packages/vite-plugin-uni/src/config/resolve.ts b/packages/vite-plugin-uni/src/config/resolve.ts index c4da920ab5923b2a3dfc8aff1d9a3ef4ef838fe3..2df3ce0cb9bafeafad78dce22af495db985c7222 100644 --- a/packages/vite-plugin-uni/src/config/resolve.ts +++ b/packages/vite-plugin-uni/src/config/resolve.ts @@ -6,15 +6,18 @@ import { normalizePath, requireResolve, resolveUtsModule, + resolveUtsModuleProxyFile, } from '@dcloudio/uni-cli-shared' import { VitePluginUniResolvedOptions } from '..' export const customResolver: ResolverFunction = (updatedId, importer) => { - const utsModuleFile = resolveUtsModule( - updatedId, - importer ? path.dirname(importer) : process.env.UNI_INPUT_DIR, - process.env.UNI_UTS_PLATFORM - ) + const utsImporter = importer + ? path.dirname(importer) + : process.env.UNI_INPUT_DIR + const utsModuleFile = + process.env.UNI_PLATFORM === 'app' + ? resolveUtsModuleProxyFile(updatedId, utsImporter) + : resolveUtsModule(updatedId, utsImporter, process.env.UNI_UTS_PLATFORM) if (utsModuleFile) { return isWindows ? normalizePath(utsModuleFile) : utsModuleFile }