为什么这段代码会在带有learnyounode的Node.js中生成疯狂的输出

时间:2014-05-24 20:43:25

标签: javascript node.js

我试图用Learnyounode'来学习Node.js。在OSX上的终端。当我使用' learnyounode运行programfile.js programfile.js' 运行下面的代码时,我得到了如图所示的疯狂输出,我不明白为什么:这是抛出的错误,还是在learnyounode中的一些复活节彩蛋?

下面的程序在使用 $>运行程序时,查找文件中作为参数输入的换行符数。 learnyounode运行programfile.js programfile.js

var fs = require('fs') // adds fs module
var src = process.argv[2] 
var data

fs.readFile(src, 'utf8', function(err, data){
    if (err) throw err
    console.log(data)
    var lines = data.split('\n').length - 1
    console.log(lines)
})

如果您现在不关心learnyounode,see #learnyounode on nodeschool.io

crazy node.js output as PNG on Dropbox

感谢您的光临。

1 个答案:

答案 0 :(得分:1)

屏幕截图中的代码和您粘贴的代码不同。屏幕截图中缺少逗号。

此处以及右侧屏幕截图中的代码:

fs.readFile(src, 'utf8', function(err, data){

左侧的屏幕截图:

fs.readFile(src 'utf8', function(err, data){
               ^ missing comma

因此屏幕截图版本会让您知道它会看到意外的字符串'utf',因为src之后没有逗号。

您是否正在执行错误导致错误的文件版本?