我在一个网站上工作,使用Gulp.js来编译和浏览器同步,以保持浏览器与我的更改同步。

Gulp.js任务正确地编译了所有内容,但在网站上,我无法看到任何样式,控制台显示以下错误消息:

拒绝应用样式 “http://localhost:3000/assets/styles/custom-style.css”,因为它 MIME类型('text/html')不是受支持的样式表MIME类型,并且 启用严格的MIME检查。

我真的不明白为什么会这样。

HTML包含如下文件(我很确定这是正确的):

<link rel="stylesheet" type="text/css" href="assets/styles/custom-style.css"/>

现在样式表是Bootstrap和Font Awesome样式的合并(还没有自定义)。

路径也是正确的,因为这是文件夹结构:

index.html
assets
|-styles
  |-custom-style.css

但是我总是得到错误。

会是什么呢?这是gulp/browsersync的一些东西(也许是一个设置?)


当前回答

进入我的浏览器控制台→网络→样式。css…点击它,它显示“cannot get /path/to/my/CSS”,这告诉我我的链接是错误的。 我把它改成了CSS文件的路径。

更改前的原始路径为localhost:3000/Example/public/style.css。将其更改为localhost:3000/style.css解决了这个问题。

如果你从app.use(express.static(path. use)提供文件。加入(__dirname,“公共”)));或app.use (express.static(“公共”);你的服务器会把“那个文件夹”传递给浏览器,所以在浏览器中添加一个“/yourCssName.css”链接就能解决这个问题

通过在浏览器的CSS链接中添加其他路由,你会告诉浏览器在指定的路由中搜索CSS。

总之:检查您的浏览器CSS链接指向哪里。

其他回答

你文件中的注释会使它出错。有些迷你器不会删除注释。

Also

如果你使用Node.js并使用express设置你的静态文件,例如:

app.use(express.static(__dirname + '/public'));

您需要正确地对文件进行寻址。

在我的情况下,这两个都是问题,所以我的CSS链接前缀为“/ CSS /styles.css”。

例子:

<link type="text/css" rel="stylesheet" href='/css/styles.css">

这个解决方案是完美的,因为路径是CSS无法获得渲染的主要问题

我也遇到了同样的问题,在我的情况下,这是由于我手动尝试在HTML文件中导入CSS文件(就像我们总是对静态网站所做的那样),而实际上这些文件必须在Webpack使用的入口点JavaScript文件中导入。

当样式表被导入到主JavaScript文件中,而不是手动地在HTML中编写时,一切都按预期工作。

也许你对巴迪的授权有问题:

试试下面这些步骤:

进入ISS→找到列出的项目→单击它→单击操作下右侧窗格中的编辑权限 您将看到项目属性向导。点击证券 在组或用户名下→如果你看到“已验证用户”,那么你是被授权的,如果没有,那么你必须这样做。 一旦你添加了它(自己或在你的管理员的帮助下,如果你在一家公司工作:)),网站将开始加载资源。您可能需要在ISS下重新启动您的项目。

当我把它移动到localhost和PhpStorm时,我在一个网站上遇到了这个问题。

这在网上效果很好:

<link rel="stylesheet" href="/css/additional.css">

但是对于localhost,我需要去掉斜杠:

<link rel="stylesheet" href="css/additional.css">

所以我在这里强调一些已经提供的答案-这可能是一个路径或拼写错误,而不是任何复杂的服务器设置问题。控制台中的错误是转移注意力的东西;首先需要检查网络选项卡是否有404错误。

在这里提供的答案中,有一些解决方案是不正确的。添加type="text/html"或将href更改为src都不是答案。

如果你想拥有所有的属性,所以它在最敏感的验证器和你的IDE上进行验证,那么应该提供媒体值,并且rel应该是样式表,例如:

<link rel="stylesheet" href="css/additional.css" type="text/css" media="all">

我也面临着同样的问题。

我将我的目录权限更改为755 ((U)用户/所有者可以读、写和执行。(G)组能读,不能写,能执行。(其他人可以读,不能写,但可以执行)现在所有的文件都在加载中。

你也可以试试我的答案。我希望这对你有用。