Laravel 7:浏览器看到编译的 CSS 文件但不应用它们

Laravel 7: the browser sees the compiled CSS files but doesn't apply them

问题: CSS 已正确编译和链接但未在页面中显示。

我正在本地项目中使用 Laravel 7.24。

app.scss 中的代码似乎已正确编译为 public/css/app.css

在我看来 <head>,我这样链接样式表:<link href="{{ asset('css/app.css') }}" rel="stylesheet">。在浏览器的 elements/inspector 选项卡中,它显示为 <link href="http://localhost:8000/css/app.css" rel="stylesheet">。添加可选属性 type="text/css" 没有任何改变。

打开 Chrome 中的视图,页面上似乎没有应用 css。查看开发工具的网络选项卡,列出 app.css 并出现 net::ERR_INVALID_HTTP_RESPONSE 错误。

在 Firefox 中打开同一个文件,浏览器会忽略它找到的第一个选择器并应用其他所有内容。在开发工具的网络选项卡中,列出的 app.css 没有任何类型的状态,但我可以访问该文件并看到所有属性都在那里。在下面的示例中,h1p 都正确呈现,但删除第一个 .class 选择器会导致 h1 呈现为黑色文本,没有删除线。 (.class 在我看来不存在,我只是需要一些东西作为第一选择器。)

.class {
    color: purple;
}

h1 {
    color: red;
    text-decoration: line-through;
}

p {
    color: blue;
    text-decoration: underline;
}

我尝试清除缓存,但无济于事。

我可以直接在 http://localhost:8000/css/app.css 访问我的 css 文件,它显示了我的属性和这些行(据我所知,类似的行也存在于有效的项目中) :

‹������
���������HTTP/1.1 200 OK
Host: localhost:8000
Date: Sun, 30 Aug 2020 16:24:08 GMT
Connection: close
Content-Type: text/css; charset=UTF-8
Content-Length: 175

知道这种行为的原因吗?

预计到达时间:我找到了解决方案。使用命令 php -S localhost:8000 -t public/ 而不是 php artisan serve 解决了我的问题。

所以在您 运行 npm run dev 之后,即使缓存已关闭,您也看不到您应用的 css?

你是和php artisan serve一起工作还是和xampp一起工作?

似乎 php artisan serve 应该只用于快速入门,如果你真的想使用 laravel,你应该设置一个真正的 apache 服务器或类似的东西。

经过一番摸索,我想起曾经有人告诉我 php artisan serve 有时会导致 CSS 出现问题,所以我四处寻找替代方案并使用了 php -S localhost:8000 -t public/ 命令反而。这似乎解决了我的问题。