node.js — console.log не работает в файле public/javascript/

console.log у меня не работает, когда я помещаю его в функцию в папке public/javascripts.

Моя текущая структура папок node.js:

  • Просмотры
  • маршруты
  • public
    • javascripts > utils.js

В utils.js у меня есть эта функция

function goToGoogle () {
  alert ('Hello World');
  console.log('Hello World');
}

Команда alert() работает нормально, но не console.log

Я пробовал console.log в других js-файлах в каталоге route/, и он отлично выводится на терминал.

Есть идеи? Спасибо


person Michael    schedule 01.05.2013    source источник


Ответы (2)


Если код находится в public, я предполагаю, что он работает в браузере. Это означает, что сообщения будут появляться в консоли браузера, а не в консоли Node. Например, в Chrome вы переходите к Tools -> Javascript Console в меню.

Причина, по которой это работает в других файлах, заключается в том, что JS для маршрутов работает в узле и, таким образом, использует консоль узла.

person loganfsmyth    schedule 01.05.2013
comment
да, я просто Chrome View->Разработчик->Консоль Javascript, и это прекрасно работает! Спасибо!!! - person Michael; 01.05.2013
comment
Почему console.log появляется только в консоли Node? Я использую Shell Client (SSH) в качестве консоли Node. Он не выводит console.info, console.warn и т. д. Почему это происходит? Я думаю, что alert не будет поддерживаться в клиенте Shell. - person Justin John; 01.05.2013
comment
@JustinJohn Прости, я не понимаю, о чем ты спрашиваешь. Источником проблемы здесь является то, что браузер и узел — это две отдельные среды выполнения JavaScript. Если код запускается в браузере через тег <script>, он будет напечатан в консоли браузера, а поскольку браузер поддерживает alert, вы можете использовать alert. В случае Node ваш код выполняется внутри приложения Node, то есть он будет выводиться на терминал Node. - person loganfsmyth; 01.05.2013
comment
Я спросил, поддерживает ли терминал Node все операторы console в нем? Из моего опыта я понимаю, что console.log поддерживается, но остальные console.warn, console.info и т. д. не поддерживаются в терминале узла. - person Justin John; 01.05.2013
comment
@JustinJohn Они работают на меня над 0.10.0, у вас есть старая версия Node? Если вы можете, задайте новый вопрос, так как это не связано с моим ответом здесь. - person loganfsmyth; 01.05.2013

Я написал решение для пользователей nodejs в ssh-окружении. Поскольку браузер не включен, вы можете использовать firebase (https://firebase.google.com) для работы в реальном времени. -console.log() в вашем браузере.

Вывод на консоль Chrome из Node.js

person Marcel Ennix    schedule 21.06.2016