Fi1osof 18 августа 2013 0 11
Все, начиная с сегодняшнего дня официально погружаюсь в nodx.js :) Уже даже сделал простенькое приложение)))

Если кому интересно, обязательно покопайте эту технологию. node.js — это серверная реализация javascript (в принципе, javascript никогда не был чисто браузерным языком, просто мы привыкли его таким считать, потому что как правило только в браузере и видим).
node.js принципиально отличается от php, так как во-первых, php — объектно-ориентированный язык, а javascript — прототипно-ориентированный, а во-вторых, php создан, чтобы умирать, а node.js запускается раз и работает постоянно.

В общем, этот язык со своими плюсами и минусами, но мне javascript нравится больше, чем php, поэтому буду стараться полностью перейти на него.

P.S.: если вдруг кто-то тоже захочет его осваивать, вот просто шикарный самоучитель: www.nodebeginner.ru/
11 комментариев
b
bumkaka 18 августа 2013г в 14:36 #
а javascript — прототипно-ориентированный,
больше подойдет такой метод — habrahabr.ru/post/127525/
socket.io
express
Mysql
Этих 3 расширения хватит для создания сервера который будет работать с базой данных.

Сразу делай условие типа if (data.exit = 1) process.exit(code=0);
дабы убивать работу процесса чтоб не висел
Fi1osof1
Fi1osof 18 августа 2013г в 16:15 #
О, спасибо за подсказки.

Это видимо ТОП подводных камней, с которыми сталкиваются новички. Сразу по ходовой:
socket.io — еще не ставил.
express — не поставился. Лог установки:
npm install express
npm http GET https://registry.npmjs.org/express
npm http 304 https://registry.npmjs.org/express
npm http GET https://registry.npmjs.org/connect/2.8.5
npm http GET https://registry.npmjs.org/commander/1.2.0
npm http GET https://registry.npmjs.org/mkdirp/0.3.5
npm http GET https://registry.npmjs.org/cookie/0.1.0
npm http GET https://registry.npmjs.org/fresh/0.2.0
npm http GET https://registry.npmjs.org/buffer-crc32/0.2.1
npm http GET https://registry.npmjs.org/methods/0.0.1
npm http GET https://registry.npmjs.org/send/0.1.4
npm http GET https://registry.npmjs.org/cookie-signature/1.0.1
npm http GET https://registry.npmjs.org/debug
npm http GET https://registry.npmjs.org/range-parser/0.0.4
npm http 304 https://registry.npmjs.org/commander/1.2.0
npm http 304 https://registry.npmjs.org/buffer-crc32/0.2.1
npm http 304 https://registry.npmjs.org/connect/2.8.5
npm http 304 https://registry.npmjs.org/cookie/0.1.0
npm http 304 https://registry.npmjs.org/fresh/0.2.0
npm http 304 https://registry.npmjs.org/methods/0.0.1
npm http 304 https://registry.npmjs.org/send/0.1.4
npm http 304 https://registry.npmjs.org/cookie-signature/1.0.1
npm http 304 https://registry.npmjs.org/debug
npm http 304 https://registry.npmjs.org/range-parser/0.0.4
npm http 304 https://registry.npmjs.org/mkdirp/0.3.5
npm ERR! error installing express@3.3.5
npm ERR! error rolling back express@3.3.5 Error: ENOTEMPTY, rmdir '/var/www/node/public_html/node_modules/express'

npm ERR! Unsupported
npm ERR! Not compatible with your version of node/npm: connect@2.8.5
npm ERR! Required: {"node":">= 0.8.0"}
npm ERR! Actual:   {"npm":"1.1.4","node":"0.6.19"}
npm ERR!
npm ERR! System Linux 3.8.0-19-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "express"
npm ERR! cwd /var/www/node/public_html
npm ERR! node -v v0.6.19
npm ERR! npm -v 1.1.4
npm ERR! code ENOTSUP
npm ERR! message Unsupported
npm ERR! errno {}
npm http GET https://registry.npmjs.org/mime
npm http GET https://registry.npmjs.org/keypress
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /var/www/node/public_html/npm-debug.log
npm not ok

Я так понял, что он ругается на старую версию ноды. Возможно. Я устанавливал через apt-get install node. Потом я ее удалял и скачивал просто бинарники с официального сайта (которые не устанавливаются, а просто в /usr/sbin/bin/ закидывал). Могу конечно ошибиться с пониманием ошибки.

Mysql Это устанавливал, коннект с базой данных есть, запросы выполняются. А вот PDO не нашел (если подозрение, что его нет, хотя упоминания об ORM в сети вроде как есть).

Сразу делай условие типа if (data.exit = 1) process.exit(code=0);
дабы убивать работу процесса чтоб не висел
За эту подсказку отдельное спасибо, так как процесс действительно подвисал, и приходилось убивать через kill.
b
bumkaka 18 августа 2013г в 23:48 #
Обнови npm
awebfactory.com.ar/node/482#update-npm — тут инструкция
b
bumkaka 19 августа 2013г в 00:17 #
npm ERR! Required: {«node»:">= 0.8.0"}
npm ERR! Actual: {«npm»:«1.1.4»,«node»:«0.6.19»}
Fi1osof1
Fi1osof 19 августа 2013г в 05:17 #
Да, уже все обновил. Только не по этой инструкции. Удалил все, что ставил через apt-get и скачал с официального сайта бинарники. Там помимо самой ноды и npm идет. Закинул симлинки в /usr/bin/ и /usr/sbin/ и все заработало. И express установился, и даже проект создался и запустился.
Ты в качестве шаблонизатора так же Jade используешь, или что-то другое?
bazgyrt1
bazgyrt 21 августа 2013г в 10:46 #
Тоже давно хочу начать его изучать, но как то руки никак не дойдут:(
За самоучитель спасибо)
Fi1osof1
Fi1osof 21 августа 2013г в 10:53 #
Не за что!
abuhasub1
abuhasub 21 августа 2013г в 21:20 #
Кстати еще хорошая штука — node-webkit (node.js + chromium), получается делать вполне себе приложения в виде оффлайн страничек и т.п.
Fi1osof1
Fi1osof 21 августа 2013г в 21:32 #
Да, уже видел. Javascript получается вообще универсально — и сервер, и браузер, и десктоп. Очень перспективно.
alroniks1
alroniks 18 сентября 2013г в 23:56 #
На самой ноде не пишу, но использую less, jade и grunt, качал исходники с сайта, а дальше ./configure, make и make install и все работает. Использовать лучше последние версии, так как очень динамично развивается направление.
Fi1osof1
Fi1osof 19 сентября 2013г в 00:04 #
С express вопрос уже закрыт, спасибо. Как раз и была проблема в расхождении версий. Удалил все начисто, скачал бинарники и все заработало.
Авторизуйтесь или зарегистрируйтесь (можно через соцсети ), чтобы оставлять комментарии.