【发布时间】:2022-01-07 13:31:21
【问题描述】:
目标:
所以我将 Eleventy 用作 SSG,并希望在 Eleventy 进行构建或站点生成之前创建多个文件夹并将一些文件复制到这些文件夹中。
JSON 文件用于站点标题(文件夹名称)数组。
我选择使用 fs-extra 模块而不是 Node.js fs 模块。
.eleventy.js 内部(配置文件):
const fse = require('fs-extra');
const arrayFromJSON = require('./_data/sites.json');
const arrayTitles = arrayFromJSON.titles;
eleventyConfig.on("beforeBuild", () => {
// Create site folders and copy layout and frontmatter data to the folders
arrayTitles.forEach(element =>
fse.copySync(`sitesource/index.njk`, `src/_sites/${element}/${element}.njk`, { recursive: true }));
arrayTitles.forEach(element =>
fse.copySync(`sitesource/fm.11tydata.js`, `src/_sites/${element}/${element}.11tydata.js`, { recursive: true }));
});
我一直在寻找将这两个操作合二为一的想法和示例,其中只需调用一次 arrayTitles.forEach。但是我没找到。
这可能吗,有没有人提出改进此代码的建议?
【问题讨论】:
标签: javascript node.js function methods eleventy