мне нужно в node.js функцииnode.js выполнить системную команду синхронно
result = execSync('node -v');
, который синхронно выполнить данную командную строку и возвращает все stdout'ed этой команды текст.
пс. Синхронизация неверна. Я знаю. Только для личного использования.
UPDATE
Теперь у нас есть решение mgutz, который дает нам код выхода, но не стандартный вывод! Все еще ждут более точного ответа.
UPDATE
mgutz обновил свой ответ и решение здесь :)
Кроме того, как dgo.a упоминалось, есть автономный модуль exec-sync
ОБНОВЛЕНИЕ 2014 -07-30
ShellJS lib прибыл. Подумайте, что сейчас это лучший выбор.
UPDATE 2015-02-10
НАКОНЕЦ! NodeJS 0.12 поддерживает execSync
изначально.
Посмотреть официальный docs
не позволяйте себе обманываться, синхронизация не является ошибкой ... ДАЖЕ в NodeJS весь ваш код выполняется синхронно, если вы явно не вызвали метод асинхронного программирования ... если * все * было сделано асинхронным способом * ничего * никогда не будет сделано. также, предпочитая асинхронные методы, не означает, что ваш длительный расчет не будет блокировать ваш сервер. это выбор. что создатели Node решили предоставить синхронные методы файловой системы наряду с асинхронными, просто показывают, что для них тоже есть место. – flow
Где мы можем найти «библиотеку эмуляции оболочки Unix», о которой вы говорите? – Florian
@Florian означает [ShellJS] (https://github.com/arturadib/shelljs) – xst