From 6f17c7c218e0d533ea86ae8c01f9bb8f1d7fb356 Mon Sep 17 00:00:00 2001 From: laibo102 Date: Fri, 8 Jul 2022 16:10:08 +0800 Subject: [PATCH] Add: support srcEntrance to be ets file Signed-off-by: laibo102 Change-Id: Ibbaffd959d8c26f3ee0b9639467e80497a8f973f --- compiler/main.js | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/compiler/main.js b/compiler/main.js index 7582cc3..c7e70f1 100644 --- a/compiler/main.js +++ b/compiler/main.js @@ -225,8 +225,10 @@ function setAbilityFile(projectConfig, abilityPages) { function readAbilityEntrance(moduleJson) { let abilityPages = []; if (moduleJson.module) { - if (moduleJson.module.srcEntrance) { - abilityPages.push(moduleJson.module.srcEntrance); + const moduleSrcEntrance = moduleJson.module.srcEntrance; + if (moduleSrcEntrance) { + abilityPages.push(moduleSrcEntrance); + abilityPagesFullPath.push(getAbilityFullPath(projectConfig.projectPath, moduleSrcEntrance)); } if (moduleJson.module.abilities && moduleJson.module.abilities.length > 0) { setEntrance(moduleJson.module.abilities, abilityPages); @@ -243,18 +245,22 @@ function setEntrance(abilityConfig, abilityPages) { abilityConfig.forEach(ability => { if (ability.srcEntrance) { abilityPages.push(ability.srcEntrance); - let finalPath = path.resolve(path.resolve(projectConfig.projectPath, '../'), ability.srcEntrance); - finalPath = finalPath.replace(/\\/g, '/'); - if (fs.existsSync(finalPath)) { - abilityPagesFullPath.push(finalPath); - } else { - abilityPagesFullPath.push(ability.srcEntrance); - } + abilityPagesFullPath.push(getAbilityFullPath(projectConfig.projectPath, ability.srcEntrance)); } }); } } +function getAbilityFullPath(projectPath, abilityPath) { + let finalPath = path.resolve(path.resolve(projectPath, '../'), abilityPath); + finalPath = finalPath.replace(/\\/g, '/'); + if (fs.existsSync(finalPath)) { + return finalPath; + } else { + return abilityPath; + } +} + function loadWorker(projectConfig, workerFileEntry) { if (workerFileEntry) { projectConfig.entryObj = Object.assign(projectConfig.entryObj, workerFileEntry);