Node.js Предупреждение вызывает сбой

24

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

alert('Sample Alert');

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

ReferenceError: alert is not defined

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

Заранее спасибо.

    
задан gtmtg 23.07.2012 в 20:39
источник
  • что-то вне этого не является обычным javascript –  Esailija 23.07.2012 в 20:42
  • @Esailija - Технически обычный JavaScript должен иметь оповещение, поскольку JavaScript - это ветвь ECMAScript, обычно используемая в браузерах. То, что вы имели в виду, было, вероятно, ECMAScript. –  Derek 朕會功夫 20.07.2014 в 06:36

6 ответов

49

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

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

    
ответ дан Pointy 23.07.2012 в 20:40
  • То, что вы просите, на самом деле не имеет никакого смысла. Код сервера может отправить сообщение об ошибке как часть ответа на HTTP-запрос, а затем, в свою очередь, некоторый отдельный код JavaScript, запущенный в клиентском браузере, может представить предупреждение. Это будет очень мало связано с кодом JavaScript, который содержит ваше серверное приложение. –  Pointy 23.07.2012 в 20:44
7
Функция

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

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

  • Electron
  • NW.js (ранее, узел-webkit)

    NW.js is an app runtime based on Chromium and node.js. You can write native apps in HTML and JavaScript with NW.js. It also lets you call Node.js modules directly from the DOM and enables a new way of writing native applications with all Web technologies.

  • AppJS

    Available as an standalone distributable and an npm package

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

console.log('hello');
    
ответ дан Krumia 02.08.2014 в 03:56
0
Функция оповещения

предназначена для браузеров. означает front end..in nodejs для печати в cmd или bash, вы должны использовать это ..

console.log("Sample alert");

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

    
ответ дан Adnan Khan 05.06.2018 в 09:36
0

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

    
ответ дан Rubin bhandari 05.06.2018 в 12:01
0

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

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

результаты:

x
undefined

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

    
ответ дан ggb667 27.09.2014 в 03:30
0

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

process.stdin.on('char', function() {
  var chunk = process.stdin.read();
  if (chunk !== null) {
    process.stdout.write('data: ' + chunk + 'got?\n');
  }
});
    
ответ дан tomarone 30.06.2015 в 13:52