我从项目中创建了一个.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的交付机制。
有人可以告诉我这里可能会发生什么,以及我如何解决它?
答案 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/
完美无瑕地工作。