简体   繁体   中英

fs.readFile and variable passing in node

I have two variables like this in my node project

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

I want to load this html part from an html file and pass the header value on to it. How we can achieve it?

I know we can use fs.readFile

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

But how can I pass the header variable into this?

The easiest and fastest solution would be to:

  • make the replaceable header part in the HTML discoverable with a pattern like {{ header }}

  • read the file as you would normally

    fs.readFile("index.html", 'utf8', function (err, data) { // make something here });

OR

you could use promises for better readability and compact code

import {promises} from "fs"
(async () => {
  const html = await promises.readFile(file, "utf8");
})()
  • then when you have the HTML in a variable just do:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM