From d3884cfbe15d3be03bee9bbb8cbd39e5c15e53ab Mon Sep 17 00:00:00 2001 From: fxy060608 Date: Thu, 21 Apr 2022 17:13:20 +0800 Subject: [PATCH] fix(nvue): move polyfill to banner --- packages/uni-app-vite/src/nvue/plugins/esbuild.ts | 7 +++---- packages/uni-cli-shared/src/json/app/index.ts | 2 +- packages/uni-cli-shared/src/json/app/pages/code.ts | 11 +++++++---- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/packages/uni-app-vite/src/nvue/plugins/esbuild.ts b/packages/uni-app-vite/src/nvue/plugins/esbuild.ts index 932a364ce..34595b587 100644 --- a/packages/uni-app-vite/src/nvue/plugins/esbuild.ts +++ b/packages/uni-app-vite/src/nvue/plugins/esbuild.ts @@ -8,6 +8,7 @@ import debug from 'debug' import { APP_CONFIG_SERVICE, hash, + polyfillCode, removeExt, transformWithEsbuild, } from '@dcloudio/uni-cli-shared' @@ -40,7 +41,8 @@ export function uniEsbuildPlugin({ target: 'es6', minify: config.build.minify ? true : false, banner: { - js: `"use weex:vue";`, + js: `"use weex:vue"; +${polyfillCode}`, }, bundle: true, write: false, @@ -148,9 +150,6 @@ if(webview){ const __pagePath = '${removeExt(filename)}' let __pageQuery = {} try{ __pageQuery = JSON.parse(webview.__query__) }catch(e){} - if(uni.base64ToArrayBuffer){ - ArrayBuffer = uni.base64ToArrayBuffer('').constructor - } App.mpType = 'page' const app = Vue.createPageApp(App,{$store:getApp({allowDefault:true}).$store,__pageId,__pagePath,__pageQuery}) app.provide('__globalStyles', Vue.useCssStyles([...__uniConfig.styles, ...(App.styles||[])])) diff --git a/packages/uni-cli-shared/src/json/app/index.ts b/packages/uni-cli-shared/src/json/app/index.ts index fe7a5a433..42b96db68 100644 --- a/packages/uni-cli-shared/src/json/app/index.ts +++ b/packages/uni-cli-shared/src/json/app/index.ts @@ -1,3 +1,3 @@ export * from './pages' export * from './manifest' -export { polyfillCode } from './pages/code' +export { polyfillCode, arrayBufferCode, restoreGlobalCode } from './pages/code' diff --git a/packages/uni-cli-shared/src/json/app/pages/code.ts b/packages/uni-cli-shared/src/json/app/pages/code.ts index 10393f7d9..37dfe8231 100644 --- a/packages/uni-cli-shared/src/json/app/pages/code.ts +++ b/packages/uni-cli-shared/src/json/app/pages/code.ts @@ -1,3 +1,8 @@ +export const arrayBufferCode = ` +if(typeof uni !== 'undefined' && uni.base64ToArrayBuffer){ + ArrayBuffer = uni.base64ToArrayBuffer('').constructor +}; +` export const polyfillCode = ` if (typeof Promise !== 'undefined' && !Promise.prototype.finally) { Promise.prototype.finally = function(callback) { @@ -9,10 +14,8 @@ if (typeof Promise !== 'undefined' && !Promise.prototype.finally) { }) ) } -} -if(uni&&uni.base64ToArrayBuffer){ - ArrayBuffer = uni.base64ToArrayBuffer('').constructor -} +}; +${arrayBufferCode} ` export const restoreGlobalCode = ` if(uni.restoreGlobal){ -- GitLab