From 43e71a9f1d8e42a36b011db0a54ad4103da7d87b Mon Sep 17 00:00:00 2001 From: fxy060608 Date: Fri, 20 Dec 2019 17:48:43 +0800 Subject: [PATCH] refactor(cli): init auto import components options --- packages/uni-cli-shared/lib/pages.js | 17 +++++++++++++++-- packages/vue-cli-plugin-uni/lib/env.js | 6 ++++++ .../webpack-uni-pages-loader/lib/index-new.js | 14 +------------- 3 files changed, 22 insertions(+), 15 deletions(-) diff --git a/packages/uni-cli-shared/lib/pages.js b/packages/uni-cli-shared/lib/pages.js index d17f4391e..f8ba61d6c 100644 --- a/packages/uni-cli-shared/lib/pages.js +++ b/packages/uni-cli-shared/lib/pages.js @@ -328,6 +328,19 @@ function addPageUsingComponents (pagePath, usingComponents) { // 存储自动组件 const autoComponentMap = {} +let lastUsingAutoImportComponentsJson = '' + +process.UNI_AUTO_COMPONENTS = [] + +function initAutoImportComponents (usingAutoImportComponents = {}) { + const newUsingAutoImportComponentsJson = JSON.stringify(usingAutoImportComponents) + if (newUsingAutoImportComponentsJson !== lastUsingAutoImportComponentsJson) { + lastUsingAutoImportComponentsJson = newUsingAutoImportComponentsJson + process.UNI_AUTO_COMPONENTS = parseUsingAutoImportComponents(usingAutoImportComponents) + refreshAutoComponentMap() + } +} + /** * UNI_AUTO_COMPONENTS 被更新,重新刷新 map */ @@ -384,8 +397,8 @@ module.exports = { getPagesJson, parsePagesJson, pagesJsonJsFileName, - getAutoComponents, - refreshAutoComponentMap, + getAutoComponents, + initAutoImportComponents, addPageUsingComponents, getUsingComponentsCode, generateUsingComponentsCode, diff --git a/packages/vue-cli-plugin-uni/lib/env.js b/packages/vue-cli-plugin-uni/lib/env.js index ec222383d..50df08013 100644 --- a/packages/vue-cli-plugin-uni/lib/env.js +++ b/packages/vue-cli-plugin-uni/lib/env.js @@ -308,6 +308,12 @@ if ( } } +const { + initAutoImportComponents +} = require('@dcloudio/uni-cli-shared/lib/pages') + +initAutoImportComponents(pagesJsonObj.usingAutoImportComponents) + runByHBuilderX && console.log(`正在编译中...`) module.exports = { diff --git a/packages/webpack-uni-pages-loader/lib/index-new.js b/packages/webpack-uni-pages-loader/lib/index-new.js index 456b9dc6e..6086d9f2f 100644 --- a/packages/webpack-uni-pages-loader/lib/index-new.js +++ b/packages/webpack-uni-pages-loader/lib/index-new.js @@ -18,8 +18,7 @@ const { const { pagesJsonJsFileName, - refreshAutoComponentMap, - parseUsingAutoImportComponents + initAutoImportComponents } = require('@dcloudio/uni-cli-shared/lib/pages') const parseStyle = require('./util').parseStyle @@ -33,17 +32,6 @@ function renameUsingComponents (jsonObj) { return jsonObj } -let lastUsingAutoImportComponentsJson = '' - -function initAutoImportComponents (usingAutoImportComponents = {}) { - const newUsingAutoImportComponentsJson = JSON.stringify(usingAutoImportComponents) - if (newUsingAutoImportComponentsJson !== lastUsingAutoImportComponentsJson) { - lastUsingAutoImportComponentsJson = newUsingAutoImportComponentsJson - process.UNI_AUTO_COMPONENTS = parseUsingAutoImportComponents(usingAutoImportComponents) - refreshAutoComponentMap() - } -} - module.exports = function (content) { this.cacheable && this.cacheable() -- GitLab