Есть несколько компаний, которые разместят ваше приложение узла. Это не то же самое, что ваши временные веб-хостинги, где вы предоставляете им файлы, и они обслуживают файлы для вас. При работе с узлом вы пишете фактический веб-сервер.
Некоторые из популярных вокруг приведены ниже:
@Roest: виртуальный сервер звучит интригующе. Каковы плюсы и минусы такого подхода? Кроме того, учитывая, насколько популярен nodejs, как его поддержка хостинга веб-сервера может быть настолько ограниченной? Как люди его используют?
При работе с виртуальным сервером у вас есть полный дождь над тем, что вы работаете на сервере.
Плюсы Свобода: вы можете выбрать любое программное обеспечение, которое хотите запустить на своем компьютере. Во многих случаях при работе с nodejs вам нужно, чтобы какое-то специальное программное обеспечение работало вместе с вашим приложением. В большинстве случаев это уровень вашей базы данных, какой бы вы ни выбрали.
Минусы ВАМ нужно поддерживать его. Как заявил @Roest, для большинства людей это не является большой проблемой, поскольку это напрямую связано со свободой, которую дает вам виртуальный сервер, но это то, что вам нужно учитывать.
Я думаю, причина, по которой вы видите ограниченную поддержку nodejs, заключается в том, что он относительно новый и его так легко настроить самостоятельно.
Я хочу использовать веб-сокеты, и я обнаружил, что socket.io очень популярен, но я не уверен, что это такое. Поправьте меня, если я ошибаюсь, но это так же, как написать сервер на javascript, и вы запускаете файл javascript с приложением node.exe, а затем сервер работает?
Это в значительной степени именно то, что такое nodejs, или, по крайней мере, как вы его используете. Сам Nodejs — это движок Google V8 для JavaScript, работающий на вашем сервере, наряду с большим количеством библиотек и привязок C, которые позволяют вам взаимодействовать с вашим сервером так, как не позволит вам движок V8.
Это пример веб-сервера в nodejs (очень ограниченный)
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
Он просто отвечает Hello World на каждый запрос и всегда возвращает код состояния 200.
Переход от чего-то подобного к простому файловому серверу довольно прост и быстр, но несколько человек уже решили эту проблему за вас.
http://expressjs.com/ — очень мощный веб-сервер, но при этом дает вам много свобод. https://github.com/nodeapps/http-server — простой веб-сервер, я использую это в основном как инструмент командной строки для мгновенного сервера файлов через http.
Наконец, является ли socket.io просто расширением nodejs? Вам нужно кодировать свой сервер в javascript, когда вы используете socket.io? Опять же, извините за вопросы очень новичка, но я просто пытаюсь понять несколько основных вещей, прежде чем продолжить. Спасибо.
socket.io среди многих других является модулем nodejs. В зависимости от вашего определения расширения это может быть неправильное слово для использования. В большинстве случаев при использовании socket.io вы будете использовать существующий http-сервер, а затем расширять или обертывать свой сервер с помощью socket.io. Я написал предыдущее объяснение того, как это делает nowjs а>. Я предполагаю, что socket.io очень похож.
Чтобы ответить на основную часть этого вопроса: да, вы все равно будете писать свой код на javascript. Вы просто будете использовать API socket.io.
person
travis
schedule
06.08.2012