【发布时间】:2017-03-22 15:00:53
【问题描述】:
我正在 Windows 10 上的 Visual Studio Code 中尝试此操作,并使用 powershell.exe 作为终端。
在多次失败后,我上网寻找解决方案。
这是我从互联网上得到的解决方案:
var fs = require('fs');
var contents = fs.readFileSync(process.argv[2]);
var lines = contents.toString().split('\n').length - 1;
console.log(lines);
我将它保存在文件 myFirstIO.js 中。但是,我尝试在 PowerShell 上运行它,我收到以下错误:
PS C:\Users\aps12\Desktop\Test\lyn> node myFirstIO.js
fs.js:640
return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
^
TypeError: path must be a string or Buffer
at TypeError (native)
at Object.fs.openSync (fs.js:640:18)
at Object.fs.readFileSync (fs.js:508:33)
at Object.<anonymous> (C:\Users\aps12\Desktop\Test\lyn\myFirstIO.js:3:19)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.runMain (module.js:604:10)
但输入时,
PS C:\Users\aps12\Desktop\Test\lyn> learnyounode verify myFirstIO.js
令人惊讶的是,解决方案通过了。
# PASS Your solution to MY FIRST I/O! passed!
我想知道为什么解决方案即使没有运行也会通过。 另外,为什么解决方案没有运行?我在那里犯了什么错误? PS:learnyounode的前两个模块我已经通关了,没有任何失败。
【问题讨论】:
标签: javascript node.js powershell npm visual-studio-code