EJS cli 是否可以递归处理整个目录?

问题描述 投票:0回答:1

正如我目前所见,不可能对整个目录运行 EJS CLI,即

ejs my-template output
地点:

    my-template - 是一个带有占位符的项目
  • output - 所有文件所在的目标输出目录
是否有任何 fork/开源项目可以针对整个项目运行?

我希望在给定目录中生成一个包含许多文件和许多 EJS 样式占位符的目录。我可以编写自定义代码,但我想知道是否有准备好的东西

javascript ejs
1个回答
0
投票
我认为可以通过简单的Javascript代码来解决。

我在这里写了示例代码

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);
这里,你必须为每个文件提供必要的数据,我认为这可以由你手工完成。

我希望这段代码能帮助你。

© www.soinside.com 2019 - 2024. All rights reserved.