如何使用全球css样式表包含GatsbyJS

时间:2017-10-27 17:00:40

标签: webpack gatsby

默认情况下,GatsbyJS正在推动使用css模块和自定义css-in-js库,如glamoroustypography

不幸的是,我正在将现有网站移植到使用传统全球样式表的GatsbyJS。将所有现有的HTML-CSS工具转换为CSS模块的努力是一件苦差事。

我目前的黑客攻击是更新GatsbyJS html.js并添加

<link rel="stylesheet" type="text/css" href="/style.old.css" />

到标题。我style.old.css居住在/public这个,但是,当构建运行时,它会被删除。

我希望有一个插件来支持这一点,但似乎Gatsby团队正在劝阻全球CSS,这对新项目来说是可以理解的。

我试图编写一个插件来添加它,但是找到了有关如何编写“样式插件”的有限资源。

1 个答案:

答案 0 :(得分:6)

你很亲密!

不要将style.old.css放在/public中,而是将其放在/layouts中。然后,只需将其导入/layouts/index.js,如下所示:

import './style.old.css'

当您启动新的gatsby项目(gatsby new project-name)时,您会注意到index.css文件夹中的/layouts文件,默认情况下会导入layouts/index.js。只需按照此示例添加您自己的全局样式表。

一般情况下,您不应直接在/public放置任何内容。如果您希望静态文件最终放在/public文件夹中,请创建一个/static文件夹并将其放在那里(Gatsby会将/static中的所有文件复制到/public您)。