NodeJS REPL

Quando approcciamo ad una nuova tecnologia una delle cose fondamentali è la possibilità che abbiamo per poterne testare le potenzialità e sentirsi subito “attivi”.
NodeJS, oltre ad essere una potentissima piattaforma Server Side per la costruzione di sevizi, fornisce uno ambiente di runtime come Perl, Pyton e Ruby, per poter eseguire e testare le nostre applicazioni.
REPL (Read-Eval-Print-Loop), così viene chiamato l’ambiente interattivo di cui sopra, permette quindi il testing delle nostre applicazioni, ma non solo, perché essendo NodeJS un wrapper dell’engine V8, permette di testare anche programmi scritti in Javascript.
Per poter testare le nostre applicazioni, oltre a scrivere dei semplici comandi possiamo testare delle funzioni javascript che andranno a popolare le pagine web delle nostre applicazioni, oppure, semplicemente testare i nostri programmi scritti con nodeJS semplicemente richiamando il nome del file creato dopo l’istruzione node. Per esempio se inseriamo il codice scritto di seguito in un file chiamato inizializzaMySQL.js:


var mysql = require(‘mysql’);                                                     

 
var TEST_DATABASE = ‘techqueue_mysql_test’;
var TEST_TABLE = ‘nodejs_test’;
var client = mysql.createClient({
  user: ‘root’,
  password: ‘root’,
});
 
client.query(‘CREATE DATABASE ‘+TEST_DATABASE, function(err) {
  if (err && err.number != mysql.ERROR_DB_CREATE_EXISTS) {
    throw err;
  }
});
 
client.query(‘USE ‘+TEST_DATABASE);
 
client.query(
  ‘CREATE TABLE ‘+TEST_TABLE+
  ‘(id INT(11) AUTO_INCREMENT, ‘+
  ‘title VARCHAR(255), ‘+
  ‘text TEXT, ‘+
  ‘created DATETIME, ‘+
  ‘PRIMARY KEY (id))’
);
 
client.query(
  ‘INSERT INTO ‘+TEST_TABLE+’ ‘+
  ‘SET title = ?, text = ?, created = ?’,
  [‘prova titolo 1’, ‘Testo di prova di nodejs’, ’20/09/2012 15:00:00′]
);
 
var query = client.query(
  ‘INSERT INTO ‘+TEST_TABLE+’ ‘+
  ‘SET title = ?, text = ?, created = ?’,
  [‘secondo titolo’, ‘Testo nel secondo record’, ‘ 20/09/2012 16:00:00 ‘]
);
 
client.query(
  ‘SELECT * FROM ‘+TEST_TABLE,
  function selectCb(err, results, fields) {
    if (err) {
      throw err;
    }
 
    console.log(results);
    console.log(fields);
    client.end();
  }
);


Possiamo eseguirlo e testarlo (ovviamente avendo preventivamente installato mysql server e configurato opportunamente lo script), scrivendo semplicemente:

> node inizializzaMySQL.js

Da sottolineare il fatto che nella prima istruzione gestiamo l’importazione del modulo ‘mysql’ per poter utilizzare le sue funzioni. 
In nodejs per poter utilizzare le librerie che non sono comprese nel core, bisogna importarle nel sistema utilizzando un “gestore di pacchetti”, denominato npm. Quindi, se vogliamo installare il modulo per gestire il dbms mysql, dovremmo scrivere:

> npm install mysql

Quindi non ci resta che installare e provare le nostre funzioni.
Buon lavoro

RSS AngularJob

ddelfio Written by: