fs.readFile 和变量传入节点

fs.readFile and variable passing in node

我的节点项目中有两个这样的变量

header ="Hello Header";
result =  `<html>
    </head>
        <body>
            <div class='modal'>
                <div class='header'>
                    ${header}
                </div>
            </div>
        </body>
        </html>`;

我想从 html 文件加载此 html 部分并将 header 值传递给它。我们如何才能实现它?

我知道我们可以使用 fs.readFile

fs.readFile("index.html", 'utf8', function (err, data) {
    result = data;
});

但是我怎样才能将 header 变量传递给它呢?

最简单、最快的解决方案是:

  • 使 HTML 中的可替换 header 部分可通过 像 {{ header }}

    这样的模式
  • 像往常一样阅读文件

    fs.readFile("index.html", 'utf8', function (err, data) { // 在这里做点什么 });

您可以使用 promises 以获得更好的可读性和紧凑的代码

import {promises} from "fs"
(async () => {
  const html = await promises.readFile(file, "utf8");
})()
  • 然后当你在变量中有 HTML 时:

    data.replace("{{ header }}", header)