UNPKG

t-comm

Version:

专业、稳定、纯粹的工具库

34 lines (30 loc) 1.05 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); function parseComponentPath(filePath, relativePath) { var REG = /(\/|^)[^/]+$/; // `abc/xxx` 中的 `/xxx` var SAME_REG = /^\.\//; // 以 `./` 开头 var DIFF_REG = /^\.\.\//; // 以 `../` 开头 var generatePath = function generatePath(list) { return list.filter(function (item) { return item; }).join('/'); }; if (filePath.startsWith('/')) { return filePath.replace(/^\//, ''); } if (relativePath.startsWith('/')) { return relativePath.replace(/^\//, ''); } var tempResult = filePath; tempResult = tempResult.replace(REG, ''); if (SAME_REG.test(relativePath)) { return generatePath([tempResult, relativePath.replace(SAME_REG, '')]); } var tempRelative = relativePath; while (DIFF_REG.test(tempRelative)) { tempResult = tempResult.replace(REG, ''); tempRelative = tempRelative.replace(DIFF_REG, ''); } return generatePath([tempResult, tempRelative]); } exports.parseComponentPath = parseComponentPath;