javascript - 将正则表达式数据渲染到 Jade

标签 javascript regex node.js pug

因此,在下面的代码中,我将从正则表达式匹配中提取的数据写入控制台。但是,我需要将此数据呈现到一个 Jade 文件中,以便上传日志文件的用户可以自己查看匹配项。有任何想法或网站提供信息吗?

while ((match = reDiaBtoa.exec(newArray[j])) != null) {

if (match.index === reDiaBtoa.lastIndex) {
reDiaBtoa.lastIndex++;
}

if (match[2] === "ERROR") {

console.log(match[2]);
console.log("Time " + match[1]);
console.log("Thread Name: " + match[3]);
console.log("Source name & line number: " + match[4]);
console.log("Log Message: " + match[5] + '\n');
console.log("-----------------------------------------------------------------" + "\n");

var logs = [new Log(match[1], match[3], match[4], match[5])]
}    
}

更新:这就是我到目前为止所尝试过的。

Jade 文件:

...
  form(method="post", action="/upload", enctype="multipart/form-data")
      input(type="file", name="logName")
      button(type="submit") Upload

   h1.
        Log List
    #logs
        for log in logs
            include log

在我的index.js 文件中使用此代码

/* GET home page. */
router.get('/', function (req, res) {
    res.render('fileUpload', { title: 'Building a Log File Viewer' }, {logs: logs});
});


function Log(time, thread, source, mess) {
    this.time = time;
    this.thread = thread;
    this.source = source;
    this.mess = mess;
}

但它会呈现一个日志未定义的错误。我想是因为它不会将匹配项放入日志条目中。

最佳答案

res.render('fileUpload', { title: 'Building a Log File Viewer' }, {logs: logs});

应该是

res.render('fileUpload', { title: 'Building a Log File Viewer', logs: logs });

我认为这将使logs成为jade模板内的数组,但我不认为您的include log会将log视为变量,它只是尝试包含一个名为“log.jade”的文件。您可能需要读取 javascript 代码中的日志文件,以获取所需的字符串数据,然后将其传递给 jade 以包含在 HTML 中。

关于javascript - 将正则表达式数据渲染到 Jade,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24433485/

相关文章:

javascript - window.open() 在 Android 上从 setTimeout 调用时返回 undefined

javascript - 如何从另一个组件更改组件状态?

javascript - 触发两个 div 使第三个 div 不显示

regex - 需要构建一个 REGEX 来放置在 javascript 中

Java正则表达式与两个条件混淆

c++ - 如何为 CentOS 6.10 编译 node.js(库问题)

javascript - 为什么使用 MongoDB 的 $push 将新对象添加到数组时添加了带有 ObjectID 的 _id?

javascript - 是否可以让选择元素的下拉列表始终向下显示?

javascript - 用特定的单词替换每个单词javascript正则表达式

javascript - 无法使用 NodeJS 中的 Pino 记录器将日志写入文件