@opengis/admin
Version:
This project Softpro Admin
29 lines (23 loc) • 1.03 kB
JavaScript
import path, { dirname } from 'path';
import { fileURLToPath } from 'url';
import fs from 'fs';
const dir = dirname(fileURLToPath(import.meta.url));
const root = `${dir}/../../`;
async function plugin(fastify, opts) {
fastify.get('/docs*', async (req, reply) => {
if (!fs.existsSync(path.join(root, 'docs/.vitepress/dist/'))) {
return reply.status(404).send('docs not exists');
}
const { params } = req;
const url = params['*']
const filePath = url && url[url.length - 1] !== '/' ? path.join(root, 'docs/.vitepress/dist/', url) : path.join(root, 'docs/.vitepress/dist/', url, 'index.html')
const ext = path.extname(filePath);
const mime = {
'.js': 'text/javascript', '.css': 'text/css', '.woff2': 'application/font-woff', '.png': 'image/png', '.svg': 'image/svg+xml', '.jpg': 'image/jpg'
}[ext];
const stream = fs.createReadStream(filePath);
return mime ? reply.type(mime).send(stream) : stream;
})
}
export default plugin;