微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从 Eleventy 网站删除页面?

如何解决如何从 Eleventy 网站删除页面?

我想删除我在 Eleventy 生成的网站中创建的页面,我们称之为 a-post.md。而且我不知道正确的做法是什么。

我刚刚删除了“源”页面,果然,它从网站上消失了。但是,它在 _site 目录中生成文件仍然存在。我应该手动“清理”这些还是我做错了什么?

我知道这种东西不应该是 Stackoverflow 上的问题——但作为 Eleventy(和静态网站生成器)世界的新手,我对缺乏对新手友好的文档感到困惑。还有很多关于如何创建和自定义页面文章和帖子,但没有介绍如何正确处理它们。

解决方法

您所描述的问题通常只发生在本地机器上的开发过程中,站点输出在构建之间停留。 SSG 非常适合atomic deploys。这意味着每个部署都将在它自己的临时容器环境中执行,并且生成的站点将完全替换之前的构建。这意味着新部署的构建将永远不会包含来自先前构建的文件。这适用于所有 SSG 托管服务提供商,例如 NetlifyVercel

您所描述的问题通常仅在开发期间发生在本地,并且如果您通过 SFTP 或类似方式上传网站来手动部署网站的新版本。

本地开发

最佳做法是在构建步骤之前删除您的输出文件夹,以便您的本地构建与您将在实时环境中获得的原子部署相匹配。您可以将 clear 命令放在构建脚本中,这样您就不必考虑它(假设您的输出目录是 dist):

"scripts": {
    "build": "rm -rf dist/ && eleventy"
}

手动部署

这确实不是部署站点的最佳方式,但如果您这样做,我会尝试模仿原子部署:

  1. 将新版本上传到您的实时站点的 webroot 旁边。例如,如果您的实时网站位于 htdocs,请将新网站上传为 htdocs-new
  2. 删除 htdocs 文件夹。
  3. htdocs-new 重命名为 htdocs

这样,您将永远不会留下任何先前构建的残余。缺点是在第 2 步和第 3 步之间,您的站点将不可用,而 Netlify 或 Vercel 上的原子部署的停机时间为零。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。