laravel 路由跳转到vue/vite 项目文件

laravel 中使用了前端vuevite等前端项目文件,希望访问laravel的某个路由时候进入到前端项目文件中
示例中的前端项目(vite)放在了laravelpublic/website/下,里面包含index.html入口文件和assets文件夹资源文件

路由配置

    // 默认首页
    Route::get('/', function () {
        // 获取 public/website/index.html 文件的绝对路径
        $indexPath = public_path('website/index.html');
        // 检查文件是否存在
        if (file_exists($indexPath)) {
            // 读取文件内容并发送给客户端
            return response(file_get_contents($indexPath), 200, [
                'Content-Type' => 'text/html',
            ]);
        } else {
            // 如果文件不存在,返回 404 错误
            abort(404);
        }
    });

「可选」重定向静态资源文件路径

use Illuminate\Support\Facades\File;
use Illuminate\Http\Request;

// 把访问 assets 目录下的css和js文件的请求转发到 website/assets 目录下
Route::get('/assets/{assets}', function (Request $request, $assets) {
    $extension = pathinfo($assets, PATHINFO_EXTENSION);
    // 确保请求的资源是 .js 或 .css 文件
    if (!in_array(strtolower($extension), ['js', 'css'])) {
        abort(404, 'Invalid file type requested.');
    }

    $path = public_path('website/assets/' . $assets);

    if (File::exists($path)) {
        // 根据文件类型设置合适的 MIME 类型
        $mimeType = ($extension === 'js') ? 'application/javascript' : 'text/css';
        return response()->file($path, ['Content-Type' => $mimeType]);
    }
    abort(404, 'File not found.');
})->where(['assets' => '.*\.(js|css)$']); // 此约束确保 $asset 参数匹配 .js 或 .css 结尾的字符串