如何使用 fs.writefile 创建 HTML 文件

Posted

技术标签:

【中文标题】如何使用 fs.writefile 创建 HTML 文件【英文标题】:How to create an HTML file using fs.writefile 【发布时间】:2020-03-03 15:46:02 【问题描述】:

我需要使用fs.writefile 创建一个 html 文件。我现在有一个 txt 文件 (menuOutput.txt),其中包含我需要在 HTML 上显示的所有信息。它看起来像这样:

午餐项目

17.26 便当盒 b - 生鱼片,盒装组合

15.46 便当盒 a - 照烧鸡肉,盒装组合

晚餐项目

6.30 蔬菜寿司,6 卷

8.10 金枪鱼卷,3 卷

7.11 鱼子,2 卷

Function createHTML (textFile) 
    return new Promise ((resolve, reject)=>
        fs.readFile(textFile, 'utf8', (err,data) => 
            if (err) 
                reject(err)
            
            resolve (data)
        )
    )


createHTML('menuOutput.txt') 
        .then(data=>
            fs.writeFile ('index.html', data, (err) => 
                console.log (data)
                if (err) 
                    if (err) throw err
                    console.log ('created')

                
            )
        )

但是,我的 HTML 文件只有一行文本,如何在函数中实现 HTML 标签?还是我的思维方式有什么问题?

【问题讨论】:

在 .html 文件中保存纯文本不会神奇地创建标签。您必须在保存文件之前为内容创建标签。 【参考方案1】:

你可以试试这个代码修改。

createHTML('menuOutput.txt').then(data=>
    
        var stream = fs.createWriteStream('output.html', flags: 'a');
        stream.write(data, function() 
        var html = buildHtml();
        stream.end(html);
        );
    );

【讨论】:

以上是关于如何使用 fs.writefile 创建 HTML 文件的主要内容,如果未能解决你的问题,请参考以下文章

fs.writeFile 在新创建的 vue 项目中不起作用[重复]

在 fs.writeFile([option]) 中,“选项参数”通常如何工作?

fs.writeFile 没有错误,但是写入文件失败

Node.js - 文件系统 - 在 fs.writeFile() 中使用变量

nodejs模块——fs模块 WriteFile写入文件

node js fs模块