Отключить это сообщение - Назначение выражения _ теперь отключено? NodeJs-РЕПЛ
Когда я использую 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
>
1 ответ
Таким образом, вы можете определить свой собственный пользовательский репл, если хотите, документы здесь: https://nodejs.org/api/repl.html
Например, если вы хотите изменить описываемое вами поведение, вы можете переписать функцию записи, чтобы пропустить этот вывод, или просто (возможно, проще) переопределить саму переменную контекста:
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.