export function resolve(...paths: string[]): string { const pathStr = paths.join('/'); const pathArr = pathStr.split('/'); const stack: string[] = []; // pathArr的值有如下几种情况: '', '.', '..', '[path]' for (let i = 0; i < pathArr.length; i++) { if (pathArr[i] === '..') { stack.pop(); } else if (pathArr[i] && pathArr[i] !== '.') { stack.push(pathArr[i]); } } return `/${stack.join('/')}`; } export function resolveRelativePath(path: string) { return `${import.meta.env.VITE_ASSETS_URL.replace(/\/$/, '')}${resolve(path)}`; } export const path = { resolve, resolveRelativePath, };