首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hakyll不使用新路由进行更新

Hakyll不使用新路由进行更新
EN

Stack Overflow用户
提问于 2017-01-23 09:27:30
回答 1查看 179关注 0票数 2

我是第一次尝试使用Hakyll。按照the official site上的教程,我正在尝试扩展处理图像的路线以处理字体。我已经将site.hs中的代码更改为:

代码语言:javascript
复制
match ("images/*" .||. "fonts/*") $ do
     route idRoute
     compile copyFileCompiler

fonts目录中,我有许多.ttf字体文件,它们的权限和所有者与站点的其他静态文件相匹配(所有这些文件都可以正常工作)。

但是,由于某些原因,在重新构建站点(使用stack exec site rebuild)后,这些更新不会反映在二进制文件中,路由到fonts/*的结果是404。

如何让Hakyll加载字体?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-23 09:48:05

stack exec site rebuild仅重建站点数据(默认情况下,在目标目录_site中生成的文件)。无论何时更改站点源,都需要发出stack build

如果您正在运行watch服务器,请重新启动它- stack build将创建一个新的site可执行文件,它不会重新启动正在运行的旧实例。

如果您只添加了新规则,则不需要在构建site之后执行site rebuildsite buildsite watch应该会注意到“缓存”中缺少这些文件。但是,如果您修改了现有规则,则需要让Hakyll知道文件不再是最新的。使用site cleansite rebuild清理站点将强制Hakyll重新生成所有内容。如果您的站点很大,并且只有几个文件受更改影响,您还可以重新保存它们或更改它们的修改时间(例如,使用touch命令)以节省时间。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41798047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档