正如我目前所见,不可能对整个目录运行 EJS CLI,即
ejs my-template output
地点:
我希望在给定目录中生成一个包含许多文件和许多 EJS 样式占位符的目录。我可以编写自定义代码,但我想知道是否有准备好的东西
我在这里写了示例代码
const fs = require('fs');
const path = require('path');
const ejs = require('ejs');
const inputDir = 'my-template';
const outputDir = 'output';
function processDirectory(directory) {
const files = fs.readdirSync(directory);
files.forEach((file) => {
const filePath = path.join(directory, file);
const stats = fs.statSync(filePath);
if (stats.isDirectory()) {
processDirectory(filePath);
} else {
const fileContent = fs.readFileSync(filePath, 'utf8');
const renderedContent = ejs.render(fileContent, { /* your data */ });
const outputPath = path.join(outputDir, file);
fs.writeFileSync(outputPath, renderedContent);
}
});
}
processDirectory(inputDir);
这里,你必须为每个文件提供必要的数据,我认为这可以由你手工完成。我希望这段代码能帮助你。