相关疑难解决方法(0)

node.js哈希字符串?

我有一个我想要哈希的字符串.在node.js中生成哈希的最简单方法是什么?

哈希用于版本控制,而不是安全性.

hash node.js

302
推荐指数
8
解决办法
20万
查看次数

在Node.js中解析巨大的日志文件 - 逐行读取

我需要在Javascript/Node.js中解析大型(5-10 Gb)日志文件(我正在使用Cube).

日志看起来像:

10:00:43.343423 I'm a friendly log message. There are 5 cats, and 7 dogs. We are in state "SUCCESS".
Run Code Online (Sandbox Code Playgroud)

我们需要读取每一行,进行一些解析(例如剥离5,7然后SUCCESS),然后使用他们的JS客户端将这些数据泵入Cube(https://github.com/square/cube).

首先,Node中逐行读取文件的规范方式是什么?

这似乎是在线相当常见的问题:

许多答案似乎指向一堆第三方模块:

但是,这似乎是一项相当基本的任务 - 当然,在stdlib中有一种简单的方法可以逐行读取文本文件吗?

其次,我需要处理每一行(例如,将时间戳转换为Date对象,并提取有用的字段).

什么是最好的方法,最大化吞吐量?是否有某种方法不会阻止每行读取或将其发送到Cube?

第三 - 我猜测使用字符串拆分,并且JS等价的contains(IndexOf!= -1?)将比正则表达式快得多?有没有人在Node.js中解析大量文本数据方面有很多经验?

干杯,维克多

parsing logfile-analysis node.js

104
推荐指数
7
解决办法
8万
查看次数

如何在nodejs中获取同步readline或使用异步“模拟”它?

我想知道是否有一种简单的方法来获取“同步” readline或至少在node.js中获得同步I / O的外观

我用这样的东西,但是很尴尬

var readline = require('readline');
var rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
  terminal: false
});

var i = 0;
var s1 = '';
var s2 = '';

rl.on('line', function(line){
    if(i==0) { s1 = line; }
    else if(i==1) { s2 = line; }
    i++;
})

rl.on('close', function() {
    //do something with lines
})'
Run Code Online (Sandbox Code Playgroud)

取而代之的是,我希望它像这样简单

var s1 = getline(); // or "await getline()?"
var s2 = getline(); // or "await getline()?"
Run Code Online (Sandbox Code Playgroud)

有用的条件:

(a)建议不要使用外部模块或/ dev / stdio文件句柄,我正在向代码提交网站提交代码,但这些代码在那儿不起作用

(b)可以使用异步/等待或生成器 …

readline node.js

11
推荐指数
6
解决办法
1万
查看次数

标签 统计

node.js ×3

hash ×1

logfile-analysis ×1

parsing ×1

readline ×1