当前位置: 首页 > 知识库问答 >
问题:

由于MIME类型的应用程序,未加载样式表

公羊玉泽
2023-03-14

我在一个Angular 6. x应用程序,我试图改变主题(动态)。

CLI正确编译所有内容,但在developer console中,我收到了此错误消息。

拒绝应用http://localhost:4200/vendor/theme-light.css的样式,因为它的MIME类型(text/html)不是受支持的样式表MIME类型,并且启用了严格的MIME检查。

我的文件结构是这样的,路径正确

project
    |-src
      |-vendor
         |-theme-light.css
          |theme-dark.css

我的主题更改代码如下所示

import { Component, Inject, PLATFORM_ID } from '@angular/core';
import { DOCUMENT, isPlatformBrowser } from '@angular/common';

 @Component({
     ..
     ..
})

linkRef: HTMLLinkElement;

  themes = [
    { name: 'Light', href: '../vendor/theme-light.css' },
    { name: 'Dark', href: '../vendor/theme-dark.css' }
  ];

  constructor(@Inject(DOCUMENT) private document: Document, @Inject(PLATFORM_ID) private platformId: Object) {
    if (isPlatformBrowser(this.platformId)) {
      let theme = this.themes[0];
      try {
        const stored = localStorage.getItem('theme');
        if (stored) {
          theme = JSON.parse(stored);
        }
      } catch (e) {
      }
      this.linkRef = this.document.createElement('link');
      this.linkRef.rel = 'stylesheet';
      this.linkRef.href = theme.href;
      this.document.querySelector('head').appendChild(this.linkRef);
    }
  }

  setTheme(theme) {
    localStorage.setItem('theme', JSON.stringify(theme));
    this.linkRef.href = theme.href;
  }

现在,我真的不明白为什么会这样。我是不是错过了什么?如果需要,请随时询问更多细节。

任何帮助都将不胜感激。

谢谢

共有3个答案

吕森
2023-03-14

使用静态文件夹时,请确保使用“/”。比如说,资产是我们的静态文件夹,我们想要资产下的图像文件夹,所以你输入这个src=“image/img1.png”,这是错误的,你必须添加“/”,,所以它会像这个src=“/image/img1.png”

萧懿轩
2023-03-14

终于发现我在路径配置中给出了错误的路径/供应商/主题灯。css'that返回http://localhost:4200/vendor/theme-光。浏览器上的css,路径不正确。

解决方案

themes = [
    //added the missing src ( source root) 
    { name: 'Light', href: '../src/vendor/theme-light.css' },
    { name: 'Dark', href: '../src/vendor/theme-dark.css' }
  ];

谢谢你的回答

呼延光明
2023-03-14

看起来是错误的。

有一个与你完全相同的不同问题的好答案:

此错误消息的通常原因是,当浏览器尝试加载该资源时,服务器会返回一个超文本标记语言页面,例如,如果您的路由器捕获未知路径并显示默认页面而没有404错误。当然,这意味着路径不会返回预期的CSS文件/图像/图标/任何...

解决方案是找到正确的路径和路由器配置,以便在访问该路径时获得普通的CSS文件/图像等。

在你的例子中是css href。

 类似资料:
  • 问题内容: 我正在使用一个网站进行编译和浏览器同步,以使浏览器与我的更改保持同步。 gulp任务可以正确编译所有内容,但是在网站上,我看不到任何样式,并且控制台显示以下错误消息: 拒绝从’ http:// localhost:3000/assets/styles/custom-style.css ‘ 应用样式,因为它的MIME类型(’text / html’)不是受支持的样式表MIME类型,并且启

  • 我正在开发一个网站,该网站使用编译和浏览器同步,以保持浏览器与我的更改同步。 gulp任务正确地编译了所有内容,但在网站上,我看不到任何样式,控制台显示以下错误消息: 拒绝应用“http://localhost:3000/assets/styles/custom-style.css”中得样式,因为其MIME类型(“text/html”)不是受支持得样式表MIME类型,并且启用了严格得MIME检查.

  • 我正在处理一个React应用程序,该应用程序运行在来自npm的webpack-dev-server上。在运行服务器时,我注意到我在浏览器控制台中得到以下消息: "拒绝应用'http://localhost:8080/css/index.css'的样式,因为它的MIME类型('text/html')不是受支持的样式表MIME类型,并且启用了严格的MIME检查。" 除了名为style的自定义css文件

  • 我在将css表单加载到spring webapp的浏览器中时遇到问题-我不断遇到以下错误: 样式表http://localhost:8080/MyBudget/resources/css/hello.css未加载,因为其MIME类型“text/html”不是“text/css”。 文件结构 在我的网站上。xml文件,我已指定我的资源如下; 在我看来(. JSP),我引用的css文件如下: 我已经尽

  • 这是我的货堆 快车 我犯了一个错误 拒绝应用来自http://localhost:3000/css/style.css'因为它的MIME类型('text/html')不是受支持的样式表MIME类型,并且启用了严格的MIME检查。 我的头标签位于一个单独的partials文件夹中: -views --partials --header。ejs ——索引。ejs 我的CSS也在另一个文件夹 -publ

  • 我们有一个带有300个Rest服务的Spring Boot应用程序,我们正试图为其生成一个招摇过市的文档。我们集成了Swagger,并将所需的Json参数添加到POJO中。当我们启动应用程序时,服务器甚至在15分钟左右也不会启动,当我们查看日志时,它会以以下格式显示。 似乎应用程序递归地试图一次又一次地访问相同的对象,使其成为一个循环引用问题。 下面是我们用于POJO的代码和注释: 非常感谢您对这