четверг, 30 января 2014 г.

Node JS Quick start functions


var file = require('../fileName');
var file = require('./fileName');
var file = require('./directory/fileName');

function myFunc () {};

if (module.parent) {
    module.exports.myFunc = myFunc;
} else {
    myFunc();
}

var events = require('events').EventEmitter;

events.on('click', function(obj){console.log(obj.a);});
events.emit('click', {a: 1});


function PhraseError () {
    Error.apply(this, arguments); // Вызов конструктора суперкласса - родительского класса. Таким образом все свойства Error попадают в PharaseError
}

// Http server и прослушка событий соединения с сервером

var http = require('http');

var server = new http.Server();

server.listen(1337, '127.0.0.1');

var counter = 0;

var emit = server.emit;

server.emit = function (event) {
    console.log(event);
    emit.apply(server, arguments);
}

server.on('request', function(request, response){
    response.end('Привет, мир!' + ++counter);
});

// Http server и вывод параметров query

var http = require('http');
var url = require('url');

var server = new http.Server(function(request, response){
    console.log(request.method, request.url);
    var urlParsed = url.parse(request.url, true);
    console.log(urlParsed);
    if (urlParsed.pathname === '/echo' && urlParsed.query.message) {
        response.statusCode = 200;
        response.setHeader('Cache-control', 'no-cache');
        response.write('Данные найдены');
        response.write(urlParsed.query.message);
        response.end('' + request.method + ' ' + request.url);
    } else {
        response.statusCode = 404;
        response.end('Page not found');
    }
});

server.listen(1337, '127.0.0.1');

// Использовать модуль supervisor для перезапуска сервера
supervisor server.js

// Дебаг в консоли

var server = new http.Server();

server.listen(1337, '127.0.0.1');

server.on('request', function(request, response){
    debugger; // Прерывание скрипта и вызов дебагера
    response.end('Привет, мир!' + ++counter);
});

node debug server;

// Можно установить npm install node-inspector
Исделать запуск дебаггера для Chrome
node --debug server.js
или
node --debug-brk server.js

// Команда debug вызывает debug в консоли браузера

// Чтение и отдача данных из файла

var http = require('http');
var fs = require('fs');

http.createServer(function(request, response){
    var info;
    if (request.url === '/') {
        info = fs.readFileSync('index.html');
        response.end(info);
    }
}).listen(3000, '127.0.0.1');

// Асинхронное чтение и отдача данных из файла

var http = require('http');
var fs = require('fs');

http.createServer(function(request, response){
    var info;
    if (request.url === '/') {
        fs.readFile('index.html', function(error, info){
            if (error) {
                console.log(error);
                response.end(error);
            }
            response.end(info);
        });
    } else if (request.url === '/now') {
        response.end((new Date()).toString());
    }
}).listen(3000, '127.0.0.1');


// Pipe

var fromReadFile = fs.read('file.txt');

fromReadFile.pipe(toWriteFile);
fromReadFile.pipe(response);
fromReadFile.pipe(process.stdout);

// Отправка данных при нажатии на гиперссылку

<a href="/logout" onclick="$('<form method="post" action="/logout"></form>').submit(); return false;">Выйти</a>

Комментариев нет:

Отправить комментарий