You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何隐藏Laravel/Vue项目URL中的「build」路径

如何隐藏Laravel/Vue项目URL中的「build」路径

嗨,我来帮你搞定这个URL里带build的小问题~

你现在遇到的情况,应该是Laravel Vite插件默认把构建输出放到了public/build目录,导致URL自动带上了这个前缀。咱们从配置入手,几步就能解决:

首先打开你的vite.config.js,调整Laravel插件的配置项:

import { fileURLToPath } from 'node:url'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
import laravel from 'laravel-vite-plugin'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'

export default defineConfig({
  plugins: [
    laravel({
      input: 'resources/js/app.js', // 这里是你的Vue入口文件,根据实际项目调整
      publicDirectory: 'public', // 把构建产物直接输出到public根目录,不再用build子目录
      base: '', // 清空base路径,避免URL里自动加/build前缀
    }),
    vue({
      template: {
        transformAssetUrls: {
          base: null,
          includeAbsolute: false,
        },
      },
    }),
    vueJsx(),
    // 保留你原来的AutoImport和Components配置
    AutoImport({
      // 你的原有配置内容
    }),
    Components({
      // 你的原有配置内容
    }),
  ],
})

改完配置后,先把之前生成的public/build目录删掉,避免旧文件干扰。然后重新运行构建命令:npm run build或者开发环境的npm run dev,这时候构建后的文件就会直接出现在public根目录下了。

接下来还要检查你的Laravel路由和视图:

  • 在routes/web.php里,确保你的SPA路由指向主视图,比如:
    Route::get('/{any}', function () {
        return view('app');
    })->where('any', '.*');
    
  • 然后在你的主视图(比如resources/views/app.blade.php)里,用Laravel的@vite指令引入资源,别手动写带/build的路径,比如:
    @vite('resources/js/app.js')
    
    这个指令会自动根据Vite配置生成正确的资源URL,不会再带build前缀了。

这样调整完之后,你的URL就会变成http://crm.local/login,完美去掉了讨厌的build路径~

备注:内容来源于stack exchange,提问作者SagTr15

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.13 17:23:15