From 69b4fd3fab17ab63a2bffcc8d32755a1f633b791 Mon Sep 17 00:00:00 2001 From: fxy060608 Date: Mon, 12 Apr 2021 19:21:29 +0800 Subject: [PATCH] fix: refresh easycom when import uni_modules --- packages/uni-cli-shared/lib/uni_modules.js | 14 ++++++++++++++ packages/vue-cli-plugin-uni/lib/env.js | 19 +++++++------------ .../webpack-uni-app-loader/plugin/index.js | 5 +++++ 3 files changed, 26 insertions(+), 12 deletions(-) diff --git a/packages/uni-cli-shared/lib/uni_modules.js b/packages/uni-cli-shared/lib/uni_modules.js index 499c62c2b..31694de80 100644 --- a/packages/uni-cli-shared/lib/uni_modules.js +++ b/packages/uni-cli-shared/lib/uni_modules.js @@ -21,7 +21,21 @@ function normalizeUniModulesPagesJson (pagesJson, pluginId) { return pagesJson } +function initUniModules () { + global.uniModules = [] + try { + global.uniModules = fs + .readdirSync(path.resolve(process.env.UNI_INPUT_DIR, 'uni_modules')) + .filter(module => + fs.existsSync( + path.resolve(process.env.UNI_INPUT_DIR, 'uni_modules', module, 'package.json') + ) + ) + } catch (e) {} +} + module.exports = { + initUniModules, getPagesJson (content) { const uniModulesDir = path.resolve(process.env.UNI_INPUT_DIR, 'uni_modules') const pluginPagesJsons = [] diff --git a/packages/vue-cli-plugin-uni/lib/env.js b/packages/vue-cli-plugin-uni/lib/env.js index 3b7c6d6cd..160f64fc7 100644 --- a/packages/vue-cli-plugin-uni/lib/env.js +++ b/packages/vue-cli-plugin-uni/lib/env.js @@ -105,23 +105,18 @@ if (process.env.NODE_ENV === 'production') { // 发行模式,不启用 cache delete process.env.UNI_USING_CACHE } -global.uniModules = [] -try { - global.uniModules = fs - .readdirSync(path.resolve(process.env.UNI_INPUT_DIR, 'uni_modules')) - .filter(module => - fs.existsSync( - path.resolve(process.env.UNI_INPUT_DIR, 'uni_modules', module, 'package.json') - ) - ) -} catch (e) {} - const { normalizePath, isSupportSubPackages, runByHBuilderX, getPagesJson -} = require('@dcloudio/uni-cli-shared') +} = require('@dcloudio/uni-cli-shared') + +const { + initUniModules +} = require('@dcloudio/uni-cli-shared/lib/uni_modules') + +initUniModules() const pagesJsonObj = getPagesJson() // 读取分包 diff --git a/packages/vue-cli-plugin-uni/packages/webpack-uni-app-loader/plugin/index.js b/packages/vue-cli-plugin-uni/packages/webpack-uni-app-loader/plugin/index.js index 8c9189d9b..3d86ce90b 100644 --- a/packages/vue-cli-plugin-uni/packages/webpack-uni-app-loader/plugin/index.js +++ b/packages/vue-cli-plugin-uni/packages/webpack-uni-app-loader/plugin/index.js @@ -1,6 +1,9 @@ const { initAutoImportScanComponents } = require('@dcloudio/uni-cli-shared/lib/pages') +const { + initUniModules +} = require('@dcloudio/uni-cli-shared/lib/uni_modules') let compiling = false @@ -37,6 +40,8 @@ class WebpackUniAppPlugin { if (fileName && typeof fileName === 'string') { if (fileName.indexOf('.vue') !== -1 || fileName.indexOf('.nvue') !== -1) { if (process.UNI_AUTO_SCAN_COMPONENTS) { + // TODO 需要处理copy webpack + initUniModules() initAutoImportScanComponents() } } -- GitLab