我想删除我在 Eleventy 生成的网站中创建的页面,我们称之为a-post.md
。而且我不知道什么是正确的方法。
我只是删除了“源”页面,果然,它从网站上消失了。但是,它在_site
目录中生成的文件仍然存在。我应该用手“清理”这些东西还是我做错了什么?
我知道这类东西不应该成为 Stackoverflow 上的问题——但作为 Eleventy(和静态网站生成器)世界的新手,我对缺乏对新手友好的文档感到困惑。还有很多关于如何创建和自定义页面的文章和帖子,但没有关于如何正确处理它们。
我想删除我在 Eleventy 生成的网站中创建的页面,我们称之为a-post.md
。而且我不知道什么是正确的方法。
我只是删除了“源”页面,果然,它从网站上消失了。但是,它在_site
目录中生成的文件仍然存在。我应该用手“清理”这些东西还是我做错了什么?
我知道这类东西不应该成为 Stackoverflow 上的问题——但作为 Eleventy(和静态网站生成器)世界的新手,我对缺乏对新手友好的文档感到困惑。还有很多关于如何创建和自定义页面的文章和帖子,但没有关于如何正确处理它们。
您描述的问题通常只发生在本地机器上的开发过程中,站点输出停留在构建之间。SSG 主要面向原子部署。这意味着每个部署都将在它自己的临时容器环境中执行,并且生成的站点将完全取代以前的构建。这意味着新部署的构建将永远不会包含来自先前构建的文件。这适用于所有 SSG 托管服务提供商,例如Netlify或Vercel。
您描述的问题通常仅在开发过程中本地发生,并且如果您通过 SFTP 或类似的方式上传站点的新版本手动部署站点。
最佳实践是在构建步骤之前删除您的输出文件夹,以便您的本地构建与您将在实时环境中获得的原子部署相匹配。您可以将 clear 命令放在构建脚本中,这样您就不必考虑它(假设您的输出目录是dist
):
"scripts": {
"build": "rm -rf dist/ && eleventy"
}
这确实不是部署站点的最佳方式,但如果您这样做,我会尝试模仿原子部署:
htdocs
,则将新站点上传为htdocs-new
htdocs
文件夹。htdocs-new
为htdocs
.这样,您将永远不会留下任何以前构建的残余物。缺点是在第 2 步和第 3 步之间,您的站点将不可用,而 Netlify 或 Vercel 上的原子部署的停机时间为零。