Un serveur web non bloquant
Basé sur des Events
Codé en Javascript
Cross-platform
Utilisation pour des appels asynchrones
Ce n'est qu'une fonction
$http({ method: 'GET', url: "https://test.fr", }).then( function(res) { console.log( res ); });
var myObjet = { "fn": function() {}, "name": "Cours de node", "useless": false }
const fs = require('fs'); fs.show(); module.exports = { "show": function() { console.log( 'You should try Node' ); } }
En ligne de commande !!!
Par ici pour les utilisateurs Windows & MacPour les linuxiens :
# Ubuntu & Débian $ apt-get install nodejs # Gentoo $ yum install nodejs # Arch $ yaourt -S nodejs npm
N'oubliez pas d'ajouter le chemin de Node dans votre variable d'environnement PATH
Petite vérification pour voir si tout fonctionne :
$ node -v v5.8.0
$ mkdir MyProject && cd MyProject $ npm init name: my-project version: 0.0.1 description: My NodeJS HelloWorld entry point: main.js test command: git repository: keywords: author: miton license: MIT Is it ok? yes $ ls package.json
{ "name": "my-project", "version": "0.0.1", "description": "My NodeJS HelloWorld", "main": "main.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "miton", "license": "MIT" }
Gestion de dépendances
$ npm install --save express "dependencies": { "express": "^4.13.4" } $ npm install --save-dev lite-server "devDependencies": { "lite-server": "^2.1.0" }
Site officiel de NPM
+200 000 packets pour:
Builder vos app (Grunt, Gulp, Jade(Pug), Sass) Vous faciliter la vie (Express, Americano, Bower, Forever) Sortir du code optimisé (Min-css, UglifyJs, Concat)C'est ça !
main.js : var http = require('http'); http .createServer( function(request, response) { response.write("
var express = require('express'); var path = require('path'); var app = express(); var staticFolder = path.join(__dirname, '/public'); var staticRessource = express.static(staticFolder); app.get('/*', staticRessource); app.listen(8080);
app.get('/messages', function(req, res){ res.json({ err: null, state: "Liste des messages!" }) }); app.post('/messages', function(req, res){ res.json({ err: null, state: "Message posté!" }) });
main.js : app.set( 'view engine', 'jade' ); app.get( '/:someone', function( req, res ) { res.render('index', { people: req.params.someone }); }); index.jade : doctype html html head body h1 Salut span= people
const https = require('https'); const fs = require('fs'); const options = { key: fs.readFileSync('certs/site.key'), cert: fs.readFileSync('certs/site.cert') }; https.createServer(options, function(req, res) { res.writeHead(200); res.end('hello world\n'); }).listen(8080);
Quand je voue une confiance aveugle à mon code pendant une démo