====== Node.js ======
===== dirty =====
Key Value Database ([[https://www.npmjs.org/package/dirty|npmjs.org]])
var dirty = require('dirty');
var db = dirty('/store.db');
var data = db.get('foobar');
db.set('foobar', "some content");
===== request =====
HTTP Requests ([[https://www.npmjs.org/package/request|npmjs.org]])
var request = require('request');
request(url, function (error, response, html) {
if (error || response.statusCode != 200) { console.error(error, response); return false;}
console.log(html);
});
===== cheerio =====
jQuery like DOM Parser ([[https://www.npmjs.org/package/cheerio|npmjs.org]])
var cheerio = require('cheerio');
var $ = cheerio.load(body);
===== underscore =====
Utiliys ([[https://www.npmjs.org/package/underscore|npmjs.org]])
var _ = require('underscore');
===== dialog =====
Window Prompts ([[https://www.npmjs.org/package/dialog|npmjs.org]])
var dialog = require('dialog');
dialog.info("text", "title");
===== commander =====
Commandline Parameter ([[https://www.npmjs.org/package/commander|npmjs.org]])
var argv = require('commander');
argv
.version('0.0.1')
.option('-p, --peppers', 'Add peppers')
.option('-c, --cheese [type]', 'Add type of cheese [marble]', 'marble')
.parse(process.argv);
console.log('you ordered a pizza with:');
if (argv .peppers) console.log(' - peppers');
console.log(' - %s cheese', program.cheese);
===== prompt =====
Userinput Abfrage ([[https://www.npmjs.org/package/prompt|npmjs.org]])
var prompt = require('prompt');
prompt.get(['username', 'email'], function (err, result) {
console.log('Command-line input received:');
console.log(' username: ' + result.username);
console.log(' email: ' + result.email);
});
===== fs-extra =====
Extra FileSystem tools ([[https://www.npmjs.org/package/fs-extra|npmjs.org]])
var fs = require('fs-extra')
// Async with promises:
fs.copy('/tmp/myfile', '/tmp/mynewfile')
.then(() => console.log('success!'))
.catch(err => console.error(err))
// Async with callbacks:
fs.copy('/tmp/myfile', '/tmp/mynewfile', err => {
if (err) return console.error(err)
console.log('success!')
})
// Sync:
try {
fs.copySync('/tmp/myfile', '/tmp/mynewfile')
console.log('success!')
} catch (err) {
console.error(err)
}
===== mime =====
MIME-Type ([[https://www.npmjs.org/package/mime|npmjs.org]])
https://www.npmjs.org/package/mime
var mime = require('mime');
mime.lookup('/path/to/file.txt'); // => 'text/plain'
mime.lookup('file.txt'); // => 'text/plain'
mime.lookup('.TXT'); // => 'text/plain'
mime.lookup('htm'); // => 'text/html'
===== async =====
Queue, Warteschlange ([[https://www.npmjs.org/package/async|npmjs.org]])
var async = require('async');
var queue = async.queue(worker, 40);
queue.push(ip);
queue.drain = function() {
console.log("all done");
}
function worker (host, callback) {
console.log("Hard Working");
for(var i = 0; i <= 5; i++) {
if(i == 5) 7
callback();
}
}
}
===== socket.io =====
Realtime Web Communication ([[https://www.npmjs.org/package/socket.io|npmjs.org]])
var express = require('express');
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io')(server);
var port = process.env.PORT || 8080;
server.listen(port, function () {
console.log('Server listening at port %d', port);
});
app.use(express.static(__dirname + '/public'));
io.on('connection', function (socket) {
socket.on('say', function (data) {
// send to current request socket client
socket.emit('message', "this is a test");
// sending to all clients, include sender
io.sockets.emit('message', "this is a test");
// sending to all clients except sender
socket.broadcast.emit('message', "this is a test");
// sending to all clients in 'game' room(channel) except sender
socket.broadcast.to('game').emit('message', 'nice game');
// sending to all clients in 'game' room(channel), include sender
io.sockets.in('game').emit('message', 'cool game');
// sending to individual socketid
io.sockets.socket(socketid).emit('message', 'for your eyes only');
});
});
===== mkdirp=====
([[https://www.npmjs.org/package/mkdirp|npmjs.org]])
var mkdirp = require('mkdirp');
mkdirp('./tmp/foo/bar/baz', function (err) {
if (err) console.error(err)
else console.log('pow!')
});
===== validator =====
Eingabe Überprüfung ([[https://www.npmjs.org/package/validator|npmjs.org]])
var validator = require('validator');
validator.isEmail('foo@bar.com'); //=> true
===== chalk =====
Farben/Colors in der Console ([[https://www.npmjs.org/package/chalk|npmjs.org]])
var chalk = require('chalk');
// Combine styled and normal strings
log(chalk.blue('Hello') + 'World' + chalk.red('!'));
// Compose multiple styles using the chainable API
log(chalk.blue.bgRed.bold('Hello world!'));
// Pass in multiple arguments
log(chalk.blue('Hello', 'World!', 'Foo', 'bar', 'biz', 'baz'));
var error = chalk.bold.red;
var warning = chalk.keyword('orange');
console.log(error('Error!'));
console.log(warning('Warning!'));