默认的解释器提供了获取存在于全局作用域中的任何变量的途径。 可以通过给每个 REPLServer 绑定的 context 对象指定变量,来显式地把变量暴露给 REPL。 例如:

    1. const repl = require('repl');
    2. const msg = 'message';
    3. repl.start('> ').context.m = msg;

    context 对象的属性表现为 REPL 中的局部变量:

    1. $ node repl_test.js
    2. > m
    3. 'message'

    默认情况下 context 的属性不是只读的。 要指定只读的全局变量,context 的属性必须使用 Object.defineProperty() 来定义:

    1. const repl = require('repl');
    2. const msg = 'message';
    3. const r = repl.start('> ');
    4. Object.defineProperty(r.context, 'm', {
    5. configurable: false,
    6. enumerable: true,
    7. value: msg
    8. });