From 6498dcfbba174f1a285e97c3f01554d39e424969 Mon Sep 17 00:00:00 2001 From: fxy060608 Date: Fri, 3 Apr 2020 18:21:38 +0800 Subject: [PATCH] fix(v3): Declare unsupported global variables --- .../platforms/app-plus/app-config-service.js | 28 +++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/packages/webpack-uni-pages-loader/lib/platforms/app-plus/app-config-service.js b/packages/webpack-uni-pages-loader/lib/platforms/app-plus/app-config-service.js index d74092e4..a892da85 100644 --- a/packages/webpack-uni-pages-loader/lib/platforms/app-plus/app-config-service.js +++ b/packages/webpack-uni-pages-loader/lib/platforms/app-plus/app-config-service.js @@ -26,6 +26,30 @@ function parseRoutes (config) { return __uniRoutes } + +const GLOBALS = [ + 'window', + 'document', + 'frames', + 'self', + 'location', + 'navigator', + 'localStorage', + 'history', + 'Caches', + 'screen', + 'alert', + 'confirm', + 'prompt', + 'fetch', + 'XMLHttpRequest', + 'WebSocket', + 'webkit', + 'print' +] + +const globalStatement = GLOBALS.map(g => `${g}:void 0`).join(',') + module.exports = function definePages (appJson) { const __uniRoutes = parseRoutes(appJson) @@ -42,7 +66,7 @@ var isReady=false;var onReadyCallbacks=[]; var __uniConfig = ${JSON.stringify(appJson, null)}; var __uniRoutes = ${JSON.stringify(__uniRoutes)}; __uniConfig.onReady=function(callback){if(__uniConfig.ready){callback()}else{onReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"ready",{get:function(){return isReady},set:function(val){isReady=val;if(!isReady){return}const callbacks=onReadyCallbacks.slice(0);onReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}}); -service.register("uni-app-config",{create(a,b,c){if(!__uniConfig.viewport){var d=b.weex.config.env.scale,e=b.weex.config.env.deviceWidth,f=Math.ceil(e/d);Object.assign(__uniConfig,{viewport:f,defaultFontSize:Math.round(f/20)})}return{instance:{__uniConfig:__uniConfig,__uniRoutes:__uniRoutes,window:void 0,global:void 0}}}}); +service.register("uni-app-config",{create(a,b,c){if(!__uniConfig.viewport){var d=b.weex.config.env.scale,e=b.weex.config.env.deviceWidth,f=Math.ceil(e/d);Object.assign(__uniConfig,{viewport:f,defaultFontSize:Math.round(f/20)})}return{instance:{__uniConfig:__uniConfig,__uniRoutes:__uniRoutes,${globalStatement}}}}}); ` } -} +} -- GitLab