我正在使用我的应用程序使用React,Redux,样式化组件和GitHub页面。
全局样式可在开发中使用,但部署到GitHub页面后不会应用。
例如在App.js中
import { createGlobalStyle } from 'styled-components';
const GlobalStyle = createGlobalStyle`
body {
@import url("https://fonts.googleapis.com/css?family=Quicksand");
color: red;
}
`
const App = () => (
<React.Fragment>
<GlobalStyle />
<Provider store={store}>
<Router>
<div>
//REST OF APP
</div>
</Router>
</Provider>
</React.Fragment>
);
export default App;
答案 0 :(得分:0)
问题在于,在全局样式中使用@import
时当前存在问题。解决方案是,如果您使用的是Google字体,则将@import
取出并放在其他位置,例如链接标记中。
答案 1 :(得分:0)
这件事也发生在我身上,您有关此问题的信息对我有所帮助。谢谢@Brendan!
答案 2 :(得分:0)
将您对https的请求上传到GitHub页面后,该请求将被阻止,因此CSS导入失败
答案 3 :(得分:0)
在createGlobalStyle中使用@import时,文档尚不清楚。与开发相比,生产似乎有所不同,最有可能是停止FOUC,如果将@import移到顶层,则它将正确导入并显示您的样式。
kafka-server-stop
答案 4 :(得分:0)
当我去部署使用Google字体的React应用的生产版本时,我遇到了同样的问题。然后,我发现了一个很棒的项目:https://github.com/KyleAMathews/typefaces。它具有所有种Google字体,并可以通过NPM使用。
基本上,我要做的就是
npm install typeface-pt-mono --save
然后在呈现我的index.js
组件的顶级App.js
中:
import "typeface-pt-mono";
就是这样。现在我的应用程序中到处都有css指向
font-family: "PT Mono"
可以正常工作。