我查看了有关此错误的其他帖子,但找不到解决我的特定问题的帖子
我遵循“Node.js 8 the right way”一书中的示例,其中我正在制作一个简单的程序来监视文件中的更改。
观察者-spawn.js
'use strict';
const fs = require('fs');
const spawn = require('child_process').spawn();
const filename = process.argv[2];
if(!filename)
throw Error('A file must be specified');
fs.watch(filename, ()=> {
const ls = spawn('ls', ['l','h',filename]);
ls.stdout.pipe(process.stdout)
});
Run Code Online (Sandbox Code Playgroud)
当我跑步时
node watcher-spawn.js target.txt
Run Code Online (Sandbox Code Playgroud)
我收到错误
TypeError: "file" argument must be a non-empty string
at normalizeSpawnArguments (child_process.js:380:11)
at Object.exports.spawn (child_process.js:487:38)
at Object.<anonymous> (/Users/BorisGrunwald/Desktop/filesystem/watcher-spawn.js:4:40)
at Module._compile (module.js:573:30)
at Object.Module._extensions..js (module.js:584:10)
at Module.load (module.js:507:32)
at tryModuleLoad (module.js:470:12)
at Function.Module._load (module.js:462:3)
at Function.Module.runMain (module.js:609:10)
at startup (bootstrap_node.js:158:16)
Run Code Online (Sandbox Code Playgroud)
知道问题出在哪里吗?
您正在执行该spawn函数,而不是在这一行中要求它:
const spawn = require('child_process').spawn();
Run Code Online (Sandbox Code Playgroud)
这行应该是:
const spawn = require('child_process').spawn;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5601 次 |
| 最近记录: |