Laravel 6项目异常:php artisan serve加载其他Laravel 8项目静态资源
问题背景
- Windows系统,此前用XAMPP 7.4.29搭配
php artisan serve运行Laravel 6/Vue 2项目完全正常 - 为运行要求PHP≥8.1的Laravel 8开源项目,卸载XAMPP 7.4并安装XAMPP 8.2.12,该Laravel 8项目可正常运行
- 卸载XAMPP 8.2.12,重新解压恢复XAMPP 7.4.29后,原Laravel 6项目无法加载Vue应用
测试项目复现问题
从零创建Laravel 6/Vue 2测试项目,执行命令如下:
composer create-project --prefer-dist laravel/laravel myapp "6.*" cd myapp composer require laravel/ui:^1.0 --dev php artisan ui vue --auth npm install && npm run dev
现象:Laravel欢迎页可正常加载,但Vue对象和Bootstrap均无法加载
追踪测试与异常细节
为定位问题,执行以下追踪操作:
- 在
resources/js/app.js中添加代码:console.log("special text"); - 在
public/js目录下新增myapp.js,内容为:console.log('my app'); - 创建
test.blade.php页面及/test路由,使用layouts\app.blade.php布局(该布局中包含Vue脚本引用)
布局中的脚本引用代码:
<!-- Scripts --> <script src="{{ asset('js/app.js') }}" defer></script> // 含追踪代码:console.log("special text") <script src="{{ asset('js/myapp.js') }}" defer></script> // 含追踪代码:console.log('my app')
访问localhost:8000/test时的异常表现:
- 浏览器控制台仅输出
my app,未出现预期的special text - 通过开发者工具Network面板查看发现:加载的
app.js和app.css与当前项目public/js、public/css下的同名文件大小、内容完全不同,实际是另一目录下Laravel 8项目的资源(app.css包含Tailwind CSS样式)
已尝试的无效操作:执行php artisan cache:clear,问题未得到解决
注:Laravel 6与Laravel 8项目存储在电脑的完全不同目录下
内容的提问来源于stack exchange,提问作者RaelB
相关产品推荐
相关产品推荐

