默认情况下,GatsbyJS正在推动使用css模块和@R_301_451@css-in-js库,如
glamorous和
typography
不幸的是,我正在将现有网站移植到使用传统全球样式表的GatsbyJS.将所有现有HTML-CSS工具转换为CSS模块的工作是一件苦差事.
我目前的黑客是更新GatsbyJS html.js并添加一个
< link rel =“stylesheet”type =“text / css”href =“/ style.old.css”/>
到标题.我将style.old.css生活在/ public中,然而,在运行构建时会被删除.
解决方法
你很亲密!
而不是将style.old.css放在/ public中,而是将其放在/ layouts中.然后,只需将其导入/layouts/index.js,如下所示:
导入’./style.old.css’
当你启动一个新的gatsby项目(gatsby new project-name)时,你会注意到/ layouts文件夹中的一个index.css文件,它默认导入layouts / index.js.只需按照此示例添加您自己的全局样式表.
通常,您不应该直接在/ public中放置任何内容.如果您希望静态文件最终放在/ public文件夹中,请创建一个/ static文件夹并将它们放在那里(Gatsby会将/ static中的所有文件复制到/ public).