diff --git a/vite.config.js b/vite.config.js index 07b42d6..33d370a 100644 --- a/vite.config.js +++ b/vite.config.js @@ -1,8 +1,31 @@ import { defineConfig } from 'vite' import uni from '@dcloudio/vite-plugin-uni' +import { existsSync, readFileSync } from 'fs' +import { resolve } from 'path' + +// 开发服务器:显式处理 public 目录下的静态文件,避免被 SPA history 路由拦截 +function servePublicFiles() { + return { + name: 'serve-public-files', + configureServer(server) { + server.middlewares.use((req, res, next) => { + if (req.url) { + const filePath = resolve(__dirname, 'public', req.url.slice(1)) + if (existsSync(filePath) && filePath.endsWith('.txt')) { + const content = readFileSync(filePath, 'utf-8') + res.setHeader('Content-Type', 'text/plain; charset=utf-8') + res.end(content) + return + } + } + next() + }) + }, + } +} export default defineConfig({ - plugins: [uni()], + plugins: [servePublicFiles(), uni()], css: { preprocessorOptions: { scss: { @@ -10,4 +33,5 @@ export default defineConfig({ }, }, }, + publicDir: 'public', })