module-migration-tool
Version:
分析项目文件依赖并迁移到新项目的工具
34 lines (29 loc) • 920 B
JavaScript
/**
* 别名路径解析器
*/
const path = require("path")
/**
* 解析别名路径
* @param {string} importPath - 导入路径
* @param {Object} aliasConfig - 别名配置
* @param {string} projectRoot - 项目根目录
* @returns {string|null} 解析后的路径,无法解析则返回null
*/
function resolveAliasPath(importPath, aliasConfig, projectRoot) {
// 检查是否匹配任何别名
for (const [alias, aliasPath] of Object.entries(aliasConfig)) {
if (importPath.startsWith(alias)) {
// 替换别名部分为实际路径
const relativePath = importPath.substring(alias.length)
const resolvedPath = path.join(
path.resolve(projectRoot, aliasPath),
relativePath.startsWith("/") ? relativePath.substring(1) : relativePath
)
return resolvedPath
}
}
return null
}
module.exports = {
resolveAliasPath,
}