gpt4 book ai didi

laravel - 从生产服务器上的存储库中提取更改后,Laravel 上的 Vue 文件不会反射(reflect)更改

转载 作者:行者123 更新时间:2023-12-02 18:37:43 25 4
gpt4 key购买 nike

我正在使用 LARAVEL 和 vue。我使用 ubuntun 和 nginx 启动了一个 digital ocean 项目。自发布以来,我添加了更多功能。今天我在生产服务器上提取了这些更改,但它们没有出现在浏览器上..

使用 Nano,我检查了所有文件,是的,文件已更改,但它们没有反射(reflect)在浏览器上。

我用过npm 运行开发、npm 运行观察php artisan config:cache,php artisan cache:clear 但它似乎不起作用有什么想法吗?

最佳答案

在推送更新的 Vue 文件之前,您需要运行 npm run prod 来准备您的 Assets 以准备生产。

Laravel 使用 mix 编译资源:https://laravel.com/docs/8.x/mix

现在,您的 public/ 目录中已包含新编译的资源,因此您可以拉取到 digitalocean 机器。但现在浏览器可能仍在使用缓存的资源(如果名称保持不变,浏览器暂时不会再次获取相同的资源)

因此,混合版本控制可以提供帮助:https://laravel.com/docs/8.x/mix#versioning-and-cache-busting

在您的 webmack.mix.js 文件中,您需要在混合管道的末尾添加 .version() 。最终结果将是这样的;

mix.js('resources/js/app.js', 'public/js')
.version();

由于您想要使用版本控制,现在您需要在 Blade 文件中使用 mix(...) 而不是 asset(...) 来解析资源 URL ;

<script src="{{ mix('/js/app.js') }}"></script>

现在,每当您编译 Assets 时,mix 都会为它们分配新的版本号,并将它们添加到 Blade 中 Assets 网址的末尾。浏览器将了解文件中有更新(因为版本号不同)并将获取更新的资源。

关于laravel - 从生产服务器上的存储库中提取更改后,Laravel 上的 Vue 文件不会反射(reflect)更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68533363/

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