Nodejs 请教如何编译多个 HTML 文件

发布于 1周前 作者 bupafengyu 来自 nodejs/Nestjs

Nodejs 请教如何编译多个 HTML 文件

问个问题,如何在 package.json 里从多个.hbs 产生多个 html 文件? 源代码: “template”: “node ./build/templater.js index2.hbs index2.html”, 只能每次编译一个文件,希望能每次编译所有的 hbs 文件到对应的 Html 文件。

1 回复

在 Node.js 中编译多个 HTML 文件通常指的是处理或转换这些文件。虽然“编译”这个词在前端开发中不常见(一般更多用于后端代码或模板引擎),但我们可以理解为批量处理这些文件。

这里有一个简单的例子,使用 Node.js 的 fs 模块读取 HTML 文件,使用 path 模块处理文件路径,并假设你要对每个 HTML 文件进行一些基本的字符串替换操作。

const fs = require('fs');
const path = require('path');

// 设置HTML文件夹路径
const htmlDir = path.join(__dirname, 'htmlFiles');

// 读取文件夹中的所有文件
fs.readdir(htmlDir, (err, files) => {
  if (err) throw err;

  files.forEach(file => {
    const filePath = path.join(htmlDir, file);

    // 读取HTML文件内容
    fs.readFile(filePath, 'utf8', (err, data) => {
      if (err) throw err;

      // 这里可以进行任何你需要的处理,例如字符串替换
      const newData = data.replace(/<old-tag>/g, '<new-tag>');

      // 写入修改后的内容到新文件或覆盖原文件
      fs.writeFile(filePath, newData, (err) => {
        if (err) throw err;
        console.log(`Processed ${file}`);
      });
    });
  });
});

这个例子展示了如何读取一个文件夹中的所有 HTML 文件,对内容进行简单的字符串替换,并将修改后的内容写回文件。你可以根据需要调整处理逻辑,比如使用模板引擎进行更复杂的转换。

回到顶部