Files
tougao_web/scripts/alias-loader.mjs
2026-07-31 15:07:12 +08:00

20 lines
608 B
JavaScript

import path from 'path';
import fs from 'fs';
import { pathToFileURL } from 'url';
export async function resolve(specifier, context, nextResolve) {
if (specifier.startsWith('@/')) {
let rel = specifier.slice(2);
let abs = path.join(process.cwd(), 'src', rel);
if (!fs.existsSync(abs) && !path.extname(abs)) {
if (fs.existsSync(abs + '.js')) abs = abs + '.js';
else if (fs.existsSync(path.join(abs, 'index.js'))) abs = path.join(abs, 'index.js');
}
return {
shortCircuit: true,
url: pathToFileURL(abs).href
};
}
return nextResolve(specifier, context);
}