Как заставить Eleventy включать в вывод такие ресурсы, как CSS и изображения?

Я впервые пробую генератор статических сайтов одиннадцати. Всякий раз, когда я строю, файлы содержимого генерируются нормально, но ни один из ресурсов (CSS, JS, изображения и т. Д.) Не попадает в выходной каталог - все, что появляется, это HTML с неработающими ссылками на ресурсы.

На данный момент я использую структуру каталогов по умолчанию:

  • project/
    • _includes/
    • _сайт/
    • css /
    • index.html
    • node_modules /
    • пакет-lock.json
    • package.json

Я пробовал создать его, как показано выше, и попытался поместить css в каталог _includes. Я также попытался поместить CSS в выходную папку (_site /), и это сработало, но мне кажется неправильным редактировать исходный файл в выходных данных.

Я поискал повсюду, но ни в одном из найденных мною руководств никогда не упоминались такие вещи, как включение CSS.

Есть ли правильный способ сделать это, чего мне не хватает, или вы действительно должны редактировать файлы как в исходном, так и в выходном файле?


person jcolton    schedule 06.11.2019    source источник


Ответы (1)


Решением было использовать сквозную копию файла. Я не рассматривал это раньше, потому что, как новичок, это казалось продвинутой темой, и я решил, что что-то столь же простое, как перенос CSS в выходной каталог, должно быть какой-то простой настройкой, которая включена по умолчанию. Это просто, если вы знаете, как это делать, но по какой-то причине он не используется по умолчанию.

Вот код, который устранил мою проблему. «_src / assets» - это папка, содержащая все CSS и изображения относительно корня проекта.

module.exports = function(eleventyConfig) {

    eleventyConfig.addPassthroughCopy("_src/assets");

    return {
        dir: {
            includes: "_templates",
            input: "_src",
            output: "_site"
        }
    };

};
person jcolton    schedule 07.11.2019