Я хочу удалить страницу, созданную мной на моем сгенерированном 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 имеют нулевое время простоя.