gpt4 book ai didi

Laravel + Inertia + Vue.js 复制 App_URL 到 url

转载 作者:行者123 更新时间:2023-12-05 09:28:24 25 4
gpt4 key购买 nike

我已经在 Laravel 8 Inertia 和 Vue.js 项目上工作了几个星期,没有遇到这个问题。我的文件位于 C:\Users[my_user]\laravel。我在打开 127.0.0.1:8080 作为本地开发服务器的地方使用 artisan 命令服务——一切都很好。我决定是时候将文件传输到 apache 的 http://localhost/laravel,在那里我将使用 xampp 打开项目而不是 Laravel php artisan 命令服务。我已经检查了我的路线, Controller ,通过了 Inertia::render() 命令,毫无问题地到达了 app.js。但是当我运行 createInertiaApp() 时,我猜 url 部分被 Inertia 而不是 vue.js 重复了这是我在 app.js 中的代码

console.log('Still working well without duplicating url')

createInertiaApp({
title: (title) => `${title} - ${appName}`,
resolve: (name) => require(`./Pages/${name}.vue`),
setup({ el, app, props, plugin }) {
return createApp({ render: () => h(app, props) })
.use(plugin)
.component('Link', Link)
.component('Head', Head)
.mixin({ methods: { route } })
.mount(el);
},
});

注意:当我评论 createInertiaApp 代码时,主页 url 将是完美的 http://localhost/laravel,但是当我运行 createInertiaApp 时,我得到 http://localhost/laravel/laravel/

最佳答案

我遇到了同样的问题。我正在使用 Nginx、带有惯性堆栈的 Laravel Jetstream,并且正在本地环境中工作。当我请求一个 url 时我得到了什么,例如192.168.1.204:5500/helpdesk/public/login 是 192.168.1.204:5500/helpdesk/public/helpdesk/public/login。当我使用 php artisan serve 时,网址显示正常。我注意到问题在于/vendor/inertiajs/inertia-laravel/src/Response.php toResponse() 方法,特别是在以下代码中:

$page = [
'component' => $this->component,
'props' => $props,
//'url' => $request->getBaseUrl().$request->getRequestUri(),
'url' => $request->getRequestUri(),
'version' => $this->version,
];

如果将 $request->getBaseUrl().$request->getRequestUri() 替换为 $request->getRequestUri(),问题应该会消失。但我认为必须有更好/更清洁的方法来做到这一点。我希望其他人可以提供更多帮助。

实际上,当惯性/laravel 添加了对 Laravel 9 的支持时,上面的代码发生了变化:https://github.com/inertiajs/inertia-laravel/pull/347/commits/bf059248ab73bcaccbea057d0a9fa11446fa0e20 .

还有一个为此打开的问题:https://github.com/inertiajs/inertia-laravel/pull/360 .

关于Laravel + Inertia + Vue.js 复制 App_URL 到 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71331297/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com