diff --git a/packages/uni-cli-shared/lib/pages.js b/packages/uni-cli-shared/lib/pages.js index 9a1dfed8de94b2cea640678f41fd740117c4fecf..57008686d3cbdf8bae958df54a569eeae90e0e00 100644 --- a/packages/uni-cli-shared/lib/pages.js +++ b/packages/uni-cli-shared/lib/pages.js @@ -82,9 +82,9 @@ function processPagesJson (pagesJson, loader = { }) } - if (Object.keys(uniNVuePages).length) { // 直接挂在 pagesJson 上 + if (uniNVuePages.length) { // 直接挂在 pagesJson 上 pagesJson.nvue = { - pages: uniNVuePages + pages: uniNVuePages.reverse() } if (uniNVueEntryPagePath) { pagesJson.nvue.entryPagePath = uniNVueEntryPagePath @@ -152,9 +152,10 @@ function isValidPage (page, root = '') { // process.UNI_NVUE_ENTRY[pagePath] = path.resolve(process.env.UNI_INPUT_DIR, pagePath + '.nvue') + '?entry' // } - uniNVuePages[pagePath + '.html'] = { - 'window': page.style || {} - } + uniNVuePages.push({ + 'path': pagePath + '.html', + 'style': page.style || {} + }) return false } @@ -176,7 +177,7 @@ function getNVueMainJsPath (page) { process.UNI_ENTRY = {} process.UNI_NVUE_ENTRY = {} -let uniNVuePages = {} +const uniNVuePages = [] function parsePages (pagesJson, pageCallback, subPageCallback) { if (!pagesJson) { @@ -215,7 +216,7 @@ function parseEntry (pagesJson) { process.UNI_NVUE_ENTRY['app-service'] = path.resolve(process.env.UNI_INPUT_DIR, getMainEntry()) } - uniNVuePages = {} + uniNVuePages.length = 0 if (!pagesJson) { pagesJson = getPagesJson() // 会检测修改 nvue entry diff --git a/packages/vue-cli-plugin-uni/lib/env.js b/packages/vue-cli-plugin-uni/lib/env.js index 232eb971d50214b134b0ead5ce650e947dcda37c..38f857544a88e6062e5ae8f5f80e4d6da97cb577 100644 --- a/packages/vue-cli-plugin-uni/lib/env.js +++ b/packages/vue-cli-plugin-uni/lib/env.js @@ -140,15 +140,21 @@ if (platformOptions.usingComponents === true) { } if ( - process.env.NODE_ENV === 'production' && - (process.env.UNI_USING_COMPONENTS || process.env.UNI_PLATFORM === 'h5') + process.env.UNI_USING_COMPONENTS || + process.env.UNI_PLATFORM === 'h5' ) { // 自定义组件模式或 h5 平台 const uniStatistics = Object.assign( manifestJsonObj.uniStatistics || {}, platformOptions.uniStatistics || {} ) - if (uniStatistics.enable !== false) { + if ( + uniStatistics.enable !== false && + ( + process.env.NODE_ENV === 'production' || + uniStatistics.enable === 'development' + ) + ) { if (process.UNI_STAT_CONFIG.appid) { process.env.UNI_USING_STAT = true } else { @@ -204,10 +210,10 @@ if (process.env.UNI_PLATFORM !== 'h5') { const moduleAlias = require('module-alias') -// 将 template-compiler 指向修订后的版本 +// 将 template-compiler 指向修订后的版本 moduleAlias.addAlias('vue-template-compiler', '@dcloudio/vue-cli-plugin-uni/packages/vue-template-compiler') moduleAlias.addAlias('@megalo/template-compiler', '@dcloudio/vue-cli-plugin-uni/packages/@megalo/template-compiler') -moduleAlias.addAlias('mpvue-template-compiler', '@dcloudio/vue-cli-plugin-uni/packages/mpvue-template-compiler') +moduleAlias.addAlias('mpvue-template-compiler', '@dcloudio/vue-cli-plugin-uni/packages/mpvue-template-compiler') if (runByHBuilderX) { const oldError = console.error diff --git a/packages/webpack-uni-pages-loader/lib/platforms/app-plus/index.js b/packages/webpack-uni-pages-loader/lib/platforms/app-plus/index.js index 92080304040ca3a7dcbff717c6be5bce235ade19..fbe35b285313f3ef7f35ef1db26840681f783e10 100644 --- a/packages/webpack-uni-pages-loader/lib/platforms/app-plus/index.js +++ b/packages/webpack-uni-pages-loader/lib/platforms/app-plus/index.js @@ -128,12 +128,14 @@ module.exports = function (pagesJson, userManifestJson) { const nvuePages = pagesJson.nvue && pagesJson.nvue.pages - const nvuePagePaths = Object.keys(nvuePages || {}) - if (nvuePagePaths.length) { + if (nvuePages.length) { const pages = {} - nvuePagePaths.forEach(nvuePagePath => { - pages[nvuePagePath] = { - 'window': parseStyle(pagesJson.nvue.pages[nvuePagePath]['window'] || {}), + nvuePages.forEach(({ + path, + style + }) => { + pages[path] = { + 'window': parseStyle(style), 'nvue': true } }) @@ -319,7 +321,7 @@ module.exports = function (pagesJson, userManifestJson) { // networkTimeout normalizeNetworkTimeout(appJson) appJson.page = Object.create(null) - appJson.pages = Object.keys(appJson.nvue.pages).reverse().map(pagePath => { + appJson.pages = Object.keys(appJson.nvue.pages).map(pagePath => { const newPagePath = pagePath.replace('.html', '') appJson.page[newPagePath] = { window: appJson.nvue.pages[pagePath].window, diff --git a/packages/webpack-uni-pages-loader/lib/platforms/mp.js b/packages/webpack-uni-pages-loader/lib/platforms/mp.js index c2074718408985442693b77ee80ccb685576ed2a..c8e95c52ae8ca63c6191d9ca8982061ab5ffb1a3 100644 --- a/packages/webpack-uni-pages-loader/lib/platforms/mp.js +++ b/packages/webpack-uni-pages-loader/lib/platforms/mp.js @@ -44,7 +44,9 @@ const pagesJson2AppJson = { fromJson && fromJson.nvue && fromJson.nvue.pages && - fromJson.nvue.pages[page.pagePath + '.html'] + fromJson.nvue.pages.find(({ + path + }) => path === (page.pagePath + '.html')) ) ) { console.error(