首页 > 解决方案 > 如何在 Node.JS 中多行编写函数的输出

问题描述

我希望我的函数在文本文件中写入多行,但只有一行。我试图做一个循环,但没有任何改变。请帮忙。

这是我的代码:

const prompt = require('prompt-sync')();
const num = prompt('myquestion : ');

let path = "mypath"
var x = (Number(num));




function run() {
     for (let ligne = 0; ligne < x; ligne++) {
        fs.writeFileSync(path, "mytext");
    };
};



function gen(length) {
    var result = '';
    var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
    var charactersLength = characters.length;
    for (var i = 0; i < length; i++) {
        result += characters.charAt(Math.floor(Math.random() * charactersLength));
    }
    return result;
}



run()
console.log("mytext");```

标签: javascriptnode.jsfsfile-writing

解决方案


使用fs.appendFileSync而不是fs.writeFileSync,也使用行尾,以便在追加时光标移动到新行。使用os.EOL

var os = require("os");

    function run() {
         for (let ligne = 0; ligne < x; ligne++) {
            fs.appendFileSync(path, "mytext"+os.EOL);
        };
    };

推荐阅读