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 没有任何类型的状态,但我可以访问该文件并看到所有属性都在那里。在下面的示例中,h1
和 p
都正确呈现,但删除第一个 .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/
命令反而。这似乎解决了我的问题。
问题: 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 没有任何类型的状态,但我可以访问该文件并看到所有属性都在那里。在下面的示例中,h1
和 p
都正确呈现,但删除第一个 .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/
命令反而。这似乎解决了我的问题。