Laravel Blade中CSS文件无法显示,php artisan serve启动后仍无效
Laravel本地开发CSS加载失败的解决方法
核心问题
resources/css属于项目源码目录,默认无法通过Web直接访问,你当前的引入路径指向了这个不可访问的目录,导致CSS加载失败。以下是几个可行的解决办法:
方法一:直接迁移资源到public目录
- 把
resources/css/styles.css复制到public/css/styles.css - 修改页面中的引入代码:
<link rel="stylesheet" href="{{asset('css/styles.css')}}" />
- 把
方法二:用Laravel Mix编译资源(推荐)
这是Laravel官方推荐的资源管理方式,适合复杂项目:- 首次使用先安装依赖:
npm install - 在项目根目录的
webpack.mix.js里添加编译规则:mix.css('resources/css/styles.css', 'public/css'); - 运行编译命令:
- 开发环境用:
npm run dev - 生产环境打包用:
npm run prod
- 开发环境用:
- 页面里引入编译后的文件:
<link rel="stylesheet" href="{{mix('css/styles.css')}}" />
- 首次使用先安装依赖:
方法三:临时配置路由访问resources(仅测试用)
不推荐在正式环境使用,仅用于临时测试:
在routes/web.php中添加以下路由:Route::get('/resources/css/{file}', function ($file) { $path = resource_path("css/{$file}"); if (!file_exists($path)) abort(404); return response()->file($path); })->where('file', '[A-Za-z0-9._-]+');
内容的提问来源于stack exchange,提问作者MarouaneOA
相关产品推荐
相关产品推荐

