diff --git a/packages/webpack-uni-pages-loader/lib/platforms/mp-alipay.js b/packages/webpack-uni-pages-loader/lib/platforms/mp-alipay.js index 24dc3e42b3807472af8ae2826a013e9360e447c8..c33cb05e1b4c1cffa3a7ecdbd4ab1f73ebc6f964 100644 --- a/packages/webpack-uni-pages-loader/lib/platforms/mp-alipay.js +++ b/packages/webpack-uni-pages-loader/lib/platforms/mp-alipay.js @@ -9,7 +9,8 @@ const { const { hasOwn, parseStyle, - parseTabBar + parseTabBar, + NON_APP_JSON_KEYS } = require('../util') function defaultCopy (name, value, json) { @@ -38,6 +39,8 @@ function copyToJson (json, fromJson, options) { }) } +const projectKeys = ['component2', 'enableAppxNg'] + module.exports = function (pagesJson, manifestJson) { const app = { pages: [], @@ -72,9 +75,7 @@ module.exports = function (pagesJson, manifestJson) { const platformJson = manifestJson['mp-alipay'] || {} Object.keys(platformJson).forEach(key => { - if ( - ['usingComponents', 'optimization', 'uniStatistics', 'appid'].indexOf(key) === -1 - ) { + if (!projectKeys.includes(key) && !NON_APP_JSON_KEYS.includes(key)) { // usingComponents 是编译模式开关,需要过滤,不能拷贝到 app app[key] = platformJson[key] } @@ -84,16 +85,12 @@ module.exports = function (pagesJson, manifestJson) { updateAppJsonUsingComponents(app.usingComponents) } - const project = Object.assign({}, manifestJson['mp-alipay'] || {}) - delete project.usingComponents - delete project.plugins - delete project.useDynamicPlugins - if (!hasOwn(project, 'component2')) { - project.component2 = true - } - if (!hasOwn(project, 'enableAppxNg')) { - project.enableAppxNg = true - } + const project = Object.assign({ + appid: platformJson.appid + }) + + project.component2 = hasOwn(platformJson, 'component2') ? platformJson.component2 : true + project.enableAppxNg = hasOwn(platformJson, 'enableAppxNg') ? platformJson.enableAppxNg : true return [{ name: 'app', diff --git a/packages/webpack-uni-pages-loader/lib/platforms/mp.js b/packages/webpack-uni-pages-loader/lib/platforms/mp.js index 81f88b32420db06d39939a569e5f7b6e5338ce66..b47e4cae0e8029a22cc1479969a2ac5b6ff701d5 100644 --- a/packages/webpack-uni-pages-loader/lib/platforms/mp.js +++ b/packages/webpack-uni-pages-loader/lib/platforms/mp.js @@ -20,7 +20,8 @@ const { const { hasOwn, parseStyle, - trimMPJson + trimMPJson, + NON_APP_JSON_KEYS } = require('../util') const uniI18n = require('@dcloudio/uni-cli-i18n') @@ -262,7 +263,7 @@ module.exports = function (pagesJson, manifestJson, project = {}) { Object.keys(platformJson).forEach(key => { if ( - !projectKeys.includes(key) && ['usingComponents', 'optimization'].indexOf(key) === -1 + !projectKeys.includes(key) && !NON_APP_JSON_KEYS.includes(key) ) { // usingComponents 是编译模式开关,需要过滤,不能拷贝到 app app[key] = platformJson[key] diff --git a/packages/webpack-uni-pages-loader/lib/util.js b/packages/webpack-uni-pages-loader/lib/util.js index 39e8947abd0b9848539e7954690f8f7a4dbdec8d..6b5d22e1b0d98e157a97cbb80eb5e239de120a3e 100644 --- a/packages/webpack-uni-pages-loader/lib/util.js +++ b/packages/webpack-uni-pages-loader/lib/util.js @@ -129,10 +129,19 @@ function parseTabBar (style = {}) { return style } - +const NON_APP_JSON_KEYS = [ + 'appid', + 'unipush', + 'usingComponents', + 'optimization', + 'scopedSlotsCompiler', + 'usingComponents', + 'uniStatistics' +] module.exports = { hasOwn, parseStyle, parseTabBar, - trimMPJson -} + trimMPJson, + NON_APP_JSON_KEYS +}