Как создать сайт на Node.js? - PullRequest
23 голосов
/ 02 января 2012

Я только что начал погружаться в Node.js после нескольких лет программирования PHP , и я хотел бы создать приложение Node.js для своего следующий проект, но я понятия не имею, как это сделать.

Есть ли ресурсы для перехода к Node.js?

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

Ответы [ 5 ]

30 голосов
/ 02 января 2012

Вы должны думать о Node.js как о каком-то Apache + PHP, что означает, что вы можете программировать свой веб-сайт и веб-сервер с помощью Node.

Узел имеет некоторые важные отличия от вашего базового PHP, он ровный,асинхронный, неблокирующий.Вы должны научиться обращаться с обратными вызовами, не блокировать цикл обработки событий и другие вещи.

Что вы должны сделать, это попытаться изучить основные вещи с помощью Node в начале, вот несколько полезных ресурсов:https://stackoverflow.com/tags/node.js/info (моим любимым был nodetuts.com и превосходная книга его автора, Hands on Node).

После того, как вы изучили основы, вы можете найти Express действительно полезен в качестве веб-фреймворка и Socket.IO , если ваше приложение ориентировано на работу в режиме реального времени.

6 голосов
/ 02 января 2012

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

4 голосов
/ 02 января 2012

Вам необходимо запустить Node.js на веб-сервере. По сути, вам нужен VPS или выделенный сервер, над которым вы имеете полный контроль. [PHP запускается через стандартный веб-сервер Apache. Node.js - это веб-сервер.]

Или вы найдете Node.js хост , который сделает это за вас.

1 голос
/ 05 января 2012

Другой вариант - использовать что-то вроде Knockout.js (http://knockoutjs.com/),) и заставить страницу делать вызовы JSONP на сервер Node.js. С помощью Node действительно легко отправлять JSON клиенту, так как это JavaScript на сервере Использование инфраструктуры на клиенте действительно упрощает создание динамической страницы на основе этих данных JSON.

Недостатком является отсутствие изящной деградации для старых браузеров. Преимущество - потенциально быстрый веб-сайт с великолепным встроенным AJAX с самого начала.

Вот пример кода для использования Node для генерации ответа JSONP:

function writeJsonpResponse(res, jsonpcallback, obj) {
    var serialized = JSON.stringify(obj);

    res.writeHead(200, {'Content-Type': 'application/javascript'});
    res.write(jsonpcallback + '(' + serialized + ');');
    res.end();
}
0 голосов
/ 02 января 2012

Node.js - это, по сути, ваш веб-сервер, который заменит Apache, поэтому единственный хостинг, на котором вы сможете запустить Nodejs, - это выделенный сервер или облачный экземпляр, на котором вам нужно будет установить и запустить nodejs.На машине, на которой вы запускаете node.js, должно быть указано доменное имя, или единственный способ получить доступ к серверу - это его IP-адрес, в данном случае ваш localhost.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...