Оповещение Node.js вызывает сбой

Я пытаюсь создать приложение node.js и

alert('Sample Alert');

вызывает сбой моей программы. Узел говорит

ReferenceError: предупреждение не определено

а потом уходит. Я могу использовать функцию alert при запуске javascript на обычной html-странице, поэтому я не понимаю, почему это так... Это отдельный модуль, который я должен использовать с node.js?


person gtmtg    schedule 23.07.2012    source источник
comment
все, что находится за пределами этого, не является обычным javascript   -  person Esailija    schedule 23.07.2012
comment
@Esailija — Технически обычный JavaScript должен иметь alert, поскольку JavaScript — это ветвь ECMAScript, обычно реализуемая в браузерах. То, что вы имели в виду, было, вероятно, ECMAScript.   -  person Derek 朕會功夫    schedule 20.07.2014


Ответы (7)


Функция alert() является свойством объектов браузера window. На самом деле это не часть JavaScript; это просто средство, доступное для кода JavaScript в этой среде.

Попробуйте console.log("Hello World");

person Pointy    schedule 23.07.2012
comment
То, о чем вы спрашиваете, на самом деле не имеет никакого смысла. Ваш серверный код может отправить ошибку как часть ответа на HTTP-запрос, а затем, в свою очередь, некоторый отдельный код JavaScript, работающий в клиентском браузере, может представить предупреждение. Это будет иметь очень мало прямого отношения к коду JavaScript, составляющему ваше серверное приложение. - person Pointy; 23.07.2012

Функция alert() доступна только при выполнении JavaScript в специальном контексте окон браузера. Он доступен через объект window.

Node.js не предназначен для написания настольных приложений (напрямую). Он в основном предназначен для написания серверных приложений JavaScript. Вы можете использовать следующие фреймворки/пакеты (и многие другие), если хотите разрабатывать настоящие настольные приложения.

  • Электрон
  • #P3# <блочная цитата> #P4#
  • #P5# <блочная цитата> #P6#

Тем временем вы можете использовать console.log() для вывода сообщения в Node.js.

console.log('hello');
person sampathsris    schedule 02.08.2014

Хотя эти ответы являются «правильными», поскольку функция оповещения недоступна вне браузера, нет причин, по которым вы не можете создать ее, а затем использовать:

node -e "function alert(x){ 
            x === 'undefined' ? console.log('undefined') : console.log(x); return; 
         }; 
         alert('x'); alert();"

полученные результаты:

x
undefined

Тогда вам может не понадобиться изменять существующий код или пример или что-то еще.

person ggb667    schedule 27.09.2014

Вам также понадобится код для ожидания ключа. Вот начало:

process.stdin.on('char', function() {
  var chunk = process.stdin.read();
  if (chunk !== null) {
    process.stdout.write('data: ' + chunk + 'got?\n');
  }
});
person tomarone    schedule 30.06.2015

функция оповещения предназначена для браузеров. означает внешний интерфейс.. в nodejs для печати в cmd или bash вы должны использовать этот..

console.log("Sample alert");

здесь вы можете напечатать любую переменную или константу... для печати переменных просто удалите кавычки

person Adnan Khan    schedule 05.06.2018

Свойство alert() разрешено только браузерами, но не JavaScript.

person Rubin bhandari    schedule 05.06.2018

Я не вижу, где это задокументировано, но я использовал global.alert() в своем коде react-native. Я использую его для целей отладки, потому что я запускаю тест Appium, поэтому у меня нет доступа к выводу console.log().

person ponder275    schedule 03.11.2020