From 3d0a248f2975d59e522332a717191c8211289e5f Mon Sep 17 00:00:00 2001 From: fxy060608 Date: Fri, 29 May 2020 15:49:26 +0800 Subject: [PATCH] fix(mp): unlink=>rename --- .../lib/plugin/generate-component.js | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/packages/webpack-uni-mp-loader/lib/plugin/generate-component.js b/packages/webpack-uni-mp-loader/lib/plugin/generate-component.js index d74d7dfe1..aa6d01094 100644 --- a/packages/webpack-uni-mp-loader/lib/plugin/generate-component.js +++ b/packages/webpack-uni-mp-loader/lib/plugin/generate-component.js @@ -115,16 +115,31 @@ module.exports = function generateComponent (compilation) { if (lastComponents.length) { for (const name of lastComponents) { if (!curComponents.includes(name)) { - removeUnusedComponent(name) + removeUnusedComponent(name) // 组件被移除 } } + } + for (const name of curComponents) { + if (!lastComponents.includes(name)) { + addComponent(name) // 新增组件 + } } lastComponents = curComponents } } +function addComponent (name) { + const bakJson = path.join(process.env.UNI_OUTPUT_DIR, name + '.bak.json') + if (fs.existsSync(bakJson)) { + try { + fs.renameSync(bakJson, path.join(process.env.UNI_OUTPUT_DIR, name + '.json')) + } catch (e) {} + } +} + function removeUnusedComponent (name) { try { - fs.unlinkSync(path.join(process.env.UNI_OUTPUT_DIR, name + '.json')) + fs.renameSync(path.join(process.env.UNI_OUTPUT_DIR, name + '.json'), path.join(process.env.UNI_OUTPUT_DIR, name + + '.bak.json')) } catch (e) {} } -- GitLab