返回

Node基础知识:探索Node.js的核心机制

前端

Node执行代码

1.1. JavaScript文件执行

Node.js可以执行JavaScript文件,这使得我们可以像执行其他脚本语言一样,使用Node.js编写程序。执行JavaScript文件可以使用两种方式:

  1. 使用命令行执行:在命令行窗口,使用以下命令可以执行JavaScript文件:
node filename.js
  1. 使用Node.js API执行:也可以使用Node.js API来执行JavaScript文件,示例代码如下:
const fs = require('fs');
const path = require('path');

const filename = path.resolve(__dirname, 'filename.js');
const data = fs.readFileSync(filename, 'utf8');

const vm = require('vm');
vm.runInThisContext(data);

1.2. Node的REPL

REPL是Node.js提供的交互式命令行界面,可以用来执行JavaScript代码并查看结果。REPL可以通过以下方式启动:

node

在REPL中,我们可以输入JavaScript代码,并立即看到执行结果。REPL还可以用来加载文件并执行文件中的代码。

Node输入输出

2.1. 给node程序传递参数

argv:argument vector的缩写,传入的具体参数。vector翻译过来是矢量的意思,在程序中表示的是一种数据结构,是一个元素的集合。

console.log(process.argv);

2.2. process.stdin 和 process.stdout

process.stdin 是一个可读流,它可以从终端读取输入。process.stdout 是一个可写流,它可以向终端输出数据。这两个流都是 Node.js 的全局对象,可以直接使用。

process.stdin.on('data', (data) => {
  console.log(data.toString());
});

2.3. 管道

管道(pipe)是一种将一个进程的输出作为另一个进程的输入的方式。在 Node.js 中,管道可以使用 | 符号来创建。

child_process.exec('ls | grep node', (err, stdout, stderr) => {
  console.log(stdout);
});

通过对Node.js基础知识的深入了解,我们为进一步学习Node.js奠定了坚实的基础。