问题描述

我在vue的index.html里面引入本地的第三方CSS文件,浏览器会出现一个提示,同时样式也没有生效

e676006a40ca1a64eba310709078fe72.png

f2a5cefe3f91674dbf7ab19a5f0d23c3.png

问题出现的环境背景及自己尝试过哪些方法

网上搜索了一下说是什么拦截器的问题,但没有找到和vue相关的修改方法

相关代码

(额,segmentfault的规定,让我必须把代码写在这里,手动滑稽)

你期待的结果是什么?实际看到的错误信息又是什么?

希望大神帮忙解惑,谢谢了。

更新: 恩,试了楼下二位的办法,都不行,不过我引用外部CDN的font-awesome的css路径是可以的,所以我觉得还是其他问题。我目前的解决办法是把css文件直接在main.js里引入,待想到办法再说吧。谢谢诸位。

回答:

一般在Response Headers中, CSS的Content-Type应该是:Content-Type: text/css,但不知什么原因,返回了: Content-Type: text/html; 导致了类型错误。

可以尝试一下:

重启你的调试器(webpack或其它)

采用绝对路径/your/path/to/font-awesome.min.css取代相对路径./your/path/to/font-waesome.min.css

新建一个*.css后缀的文件,把原本的css文本全部复制过去即可

我更偏向font-awesome.min.css这个文件的格式出了问题(即第三点)。

——————————

补充一下:针对@木马啊 的建议,因为我也不习惯在页面声明type="text/css",所以我特地搜索了一下:

stackoverflow关于type的回答,回答指出,在HTML5标准中,type是一个建议性的声明,在现代浏览器中并不会对资源解析产生实质影响,假若只通过声明type="text/css"就能解决提问者的困扰,也请提问者答复一下。

回答:

下午重新换了一个思路,问题解决了,第三方的css或者js需要放在和src同级的static文件夹下然后再在index.html里引用才会有效

3ceb9841ac43ad4838cca41d23ab7243.png

118d5d2235134c316ce1da232322022a.png

我试过即使我在src的同级目录下建一个plugins文件夹也是不行的。后来反正百度了一下,没看太明白,但大致意思是这个是config配置里做的操作

5a23676e8ef6bfde83067a4def8f25dd.png

src里面的东西最好是通过es6的import这种方式引入。大致如此,具体不知,还亲知道的朋友指点。

回答:

看提示是少了 type=”text/css”,在link标签中加上这个属性就可以了。

Logo

前往低代码交流专区

更多推荐