Можно ли использовать node.js в качестве основы для запуска произвольного серверного Javascript в веб-приложениях?

Можно ли использовать node.js в качестве общей платформы для запуска Javascript на стороне сервера специально для веб-приложений, совершенно не связанных с его неблокирующими и асинхронными функциями ввода-вывода? В частности, я хочу знать, могу ли я запустить произвольный Javascript на (веб-) сервере без использования других функций node.js.


person Howiecamp    schedule 10.01.2011    source источник


Ответы (4)


Да. Существует множество веб-фреймворков, построенных на node. Наиболее известным является Express на основе Подключиться.

Connect берет знакомые концепции Ruby's Rack и применяет их к асинхронному миру узлов.

Выражать:

Высокопроизводительная высококлассная веб-разработка для Node.js

Но ввод-вывод — например, веб-запрос — зависит от асинхронной и неблокирующей функциональности узла.

person Rafał Sobota    schedule 11.01.2011

Да, можно использовать node.js для приложений командной строки, например:

$ cat hello.js
console.log('Hello world!');
$ node hello.js
Hello world!

В этом отношении он ничем не отличается от любого скриптового языка.

person Matthias Benkard    schedule 10.01.2011
comment
Спасибо. Я полностью упустил самую важную часть моего вопроса! Я намеревался использовать node.js для произвольных веб-приложений. Это возможно? Кстати, ваш ответ о приложениях командной строки тоже очень полезен. - person Howiecamp; 10.01.2011

В конце концов, «node.js» находится внутри среды выполнения v8, поэтому вы, конечно, можете выполнять произвольный код Javascript. Однако из-за однопроцессорной конструкции параллельное выполнение нескольких вычислений с интенсивным использованием ЦП может оказаться затруднительным. Это не то, для чего был разработан node.js.

person b_erb    schedule 10.01.2011

Да. Важно понимать, что Node — это набор привязок ввода-вывода (файл, TCP и т. д.), которые накладываются поверх интерпретатора Chrome V8 JavaScript.

Вы можете использовать Node в двух режимах:

  1. Выполнить известный файл JavaScript

    $ узел some_script.js

  2. #P5# #P6# <блочная цитата> #P7#
person Aaron Rustad    schedule 10.01.2011