From 4e7c0a5f317f70f5f3112f69b4b464267017fd2f Mon Sep 17 00:00:00 2001 From: fxy060608 Date: Thu, 16 Dec 2021 20:30:33 +0800 Subject: [PATCH] fix(h5): transform rpx when build (question/136238) --- packages/uni-h5-vite/src/plugins/pagesJson.ts | 14 +++++--------- packages/uni-h5-vite/src/utils/ssr.ts | 2 ++ 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/packages/uni-h5-vite/src/plugins/pagesJson.ts b/packages/uni-h5-vite/src/plugins/pagesJson.ts index 145f76943..468f2def2 100644 --- a/packages/uni-h5-vite/src/plugins/pagesJson.ts +++ b/packages/uni-h5-vite/src/plugins/pagesJson.ts @@ -86,25 +86,21 @@ function registerGlobalCode(config: ResolvedConfig, ssr?: boolean) { const enableTreeShaking = isEnableTreeShaking( parseManifestJsonOnce(process.env.UNI_INPUT_DIR) ) + if (enableTreeShaking && config.command === 'build' && !ssr) { // 非 SSR 的发行模式,补充全局 uni 对象 - return `${name}.uni = {};${name}.wx = {}` + return `import { upx2px } from '@dcloudio/uni-h5';${name}.uni = {};${name}.wx = {};${name}.rpx2px = upx2px` } - const rpx2pxCode = - !ssr && config.define!.__UNI_FEATURE_RPX__ - ? `import {upx2px} from '@dcloudio/uni-h5' - ${name}.rpx2px = upx2px -` - : '' - return `${rpx2pxCode} -import {uni,getCurrentPages,getApp,UniServiceJSBridge,UniViewJSBridge} from '@dcloudio/uni-h5' + return ` +import {uni,upx2px,getCurrentPages,getApp,UniServiceJSBridge,UniViewJSBridge} from '@dcloudio/uni-h5' ${name}.getApp = getApp ${name}.getCurrentPages = getCurrentPages ${name}.wx = uni ${name}.uni = uni ${name}.UniViewJSBridge = UniViewJSBridge ${name}.UniServiceJSBridge = UniServiceJSBridge +${name}.rpx2px = upx2px ${name}.__setupPage = (com)=>setupPage(com) ` } diff --git a/packages/uni-h5-vite/src/utils/ssr.ts b/packages/uni-h5-vite/src/utils/ssr.ts index 7b2e6d54f..91c2adc6f 100644 --- a/packages/uni-h5-vite/src/utils/ssr.ts +++ b/packages/uni-h5-vite/src/utils/ssr.ts @@ -134,6 +134,8 @@ export function rewriteSsrResolve() { return resolveBuiltIn(`@dcloudio/uni-h5-vue/dist/vue.runtime.cjs.js`) } else if (id === 'vue/package.json') { return resolveBuiltIn(`@dcloudio/uni-h5-vue/package.json`) + } else if (id === 'vue/server-renderer/package.json') { + return resolveBuiltIn(`@vue/server-renderer/package.json`) } return oldSync(id, initResolveSyncOpts(opts)) } -- GitLab