github发布的外部样式表无法加载

时间:2018-01-10 15:16:07

标签: css github

我从项目中创建了一个.js和.css文件,并将它们添加到github发布中

https://github.com/natearn/react-vim-tips/releases

然后我尝试使用外部脚本和样式表(直接链接到发行版中的文件)将代码直接添加到网页。

<script type="text/javascript" src="https://github.com/natearn/react-vim-tips/releases/download/1.0.0/VimTips.js"></script>
<link rel="stylesheet" type="text/css" href="https://github.com/natearn/react-vim-tips/releases/download/1.0.0/VimTips.css">

对于上下文,脚本创建一个全局函数,它呈现一个react组件,我在页面的其他地方执行。

重定向后,网络对文件的请求成功(所以302然后是200),javascript加载并运行,但css规则没有添加到页面中。

当我复制样式表并在本地获取它时,它可以工作。所以我认为问题在于CDN的交付机制。

有人可以告诉我这里可能会发生什么,以及我如何解决它?

2 个答案:

答案 0 :(得分:1)

请记住,GitHub repos与网络托管服务不同。您是正确的,该问题与.css文件的提供方式有关(或者更确切地说,在您的情况下,根本没有提供)。有几个选择:

1)创建 gh-pages 分支并从那里引用stylesheet,即https://natearn.github.io/react-vim-tips/stylesheets/VimTips.css。这实际上应该正确地为您的CSS服务。

2)使用RawGit生成指向VimTips.css文件的正确CDN链接。我给了这个镜头,并在这个Stackblitz有一个有效的例子:https://stackblitz.com/edit/react-bcjjdo?file=index.js。这是我使用的CDN链接:https://cdn.rawgit.com/natearn/react-vim-tips/32b5ee66/stylesheets/VimTips.css

关键的一点是,这些策略中的任何一个都会使用正确的Content-Type标头为您的CSS服务,使它们能够在页面中实际加载为CSS。从您的发行版引用下载链接只会提示您下载CSS文件的二进制数据,这将无法正常工作。希望这会帮助你!

答案 1 :(得分:0)

使用您的仓库中的原始版本文件

我有一个来自旧Hello World回购的css文件, 使用https://github.com/mcarpenterjr/Hello_World/blob/master/style.css可以获取存储库中的文件。

使用https://raw.githubusercontent.com/mcarpenterjr/Hello_World/master/style.css 你得到原始文件,这是你正在寻找的。要获得此功能,只需单击repo中文件页面上文件内容右上角的原始按钮。

我想您也可以将https://github.com换成https://raw.githubusercontent.com并从地址中删除blob

只需使用 - &gt; https://rawgit.com/

完美无瑕地工作。