0

我正在尝试将我的 console.log 的结果打印到另一个 .txt 文件,我将如何做到这一点?这就是我的 console.log 的样子:https ://imgur.com/o2Vo471

我希望将此作为常规文本打印到输出文件中,例如“output.txt”

4

3 回答 3

0

您可以将程序重写为节点应用程序,然后从终端窗口运行它吗?然后,您无需为将控制台输出写入文件这一问题而苦苦挣扎……您可以改用 node 的 fs(Node.js 将一行写入 .txt 文件

于 2017-11-22T05:25:25.477 回答
0

我建议使用Winston来实现这一点。您可以将Winston Transports设置为在文件中输出winston.add(winston.transports.File, options)

或者,如果您不想将任何 npm 模块添加到您的应用程序中,您可以这样做

var fs = require('fs');

module.exports = function(text) {
  fs.appendFile('output.txt', text + '\n', function (err) {
    if (err) throw err;
  });
};

并将其保存到项目目录中的文件中,例如 NameOfYourFile.js。

然后你可以在你想要输出的文件中要求它

var loger = require('./NameOfYourFile');

loger('Logs');
loger('Output');
loger('Working');

并且只需使用记录器而不是 console.log。您也可以轻松地重命名它。

打字稿版本

一、安装节点模块

npm install @types/node --save-dev

然后为您的模块创建一个文件,例如 NameOfYourFile.ts

import * as fs from 'fs';
export default function(text) {
  fs.appendFile('output.txt', text + '\n', function (err) {
   if (err) throw err;
 });
};

然后你可以像这样导入它

import loger from './NameOfYourFile';

loger('Logs');
loger('Output');
loger('Working');
于 2017-12-05T00:46:12.333 回答
0

这个答案有效,但这不是我的目标,它适用于我认为的大多数其他人。你会想像这样运行你的程序:

npm start > output.txt

这会将您的控制台输出打印到 output.txt 文件中我仍然需要使用 node fs 来实现这一点,所以我将不胜感激

于 2017-12-05T00:29:02.567 回答