0

当我使用时var _ = require('underscore'),我收到了这个消息Expression assignment to _ now disabled.

有什么办法可以避免这个消息?

我可以更改变量名,但我发现有人具有相同的节点并且没有引发消息。

root@other:/# node
> var _ = require('underscore');
undefined
>

root@my:/# node
> var _ = require('underscore');
Expression assignment to _ now disabled.
undefined
>
4

1 回答 1

0

因此,如果需要,您实际上可以定义自己的自定义 repl,文档在这里:https ://nodejs.org/api/repl.html

例如,如果您想更改您所描述的行为,您可以覆盖 writer 函数以跳过该输出,或者只是(可能更容易)重新定义上下文变量本身:

  const repl = require('repl');
  const underscore = require('underscore');

  const r = repl.start('> ');
  Object.defineProperty(r.context, '_', {
     configurable: false,
     enumerable: true,
     value: underscore
   });

或者,如果您只想允许它没有错误,只需执行他们所做的操作,但跳过错误消息:

  Object.defineProperty(context, '_', {
      configurable: true,
      get: () => this.last,
      set: (value) => {
           this.last = value;
       }
   });

要实际使用上述内容,您需要运行包含它的脚本(如链接文档中所述)。这可以简单地完成

  node myrepl.js

或者,如果您正在运行 Linux 或 MacOS,您可以将其设为可执行脚本并将其放入您的 PATH 中。

于 2018-09-10T01:54:54.310 回答