Abbiamo deciso di codificare il nuovo progetto in TypeScript presso l'azienda. Questo significa che tutto dovrebbe essere codificato in questa lingua?
Discussione
Il mio primo pensiero è stato Sì. D'altra parte TypeScript è compilato su NodeJS prima che venga eseguito. Quindi, perché creare una nuova libreria, ad esempio Postgres ?
Connect-to-pg.js
var pg = require('pg');
var conString = "postgres://<user>:<pass>@127.0.0.1:5432/<db>";
var client = new pg.Client(conString);
client.connect();
//queries are queued and executed one after another once the connection becomes available
var x = 1000;
client.query("INSERT INTO products(product_no, name, price) values(1, 'Ted2',12)");
var query = client.query("SELECT * FROM products where name = 'Ted2'");
//fired after last row is emitted
query.on('row', function(row) {
console.log(row);
});
query.on('end', function() {
client.end();
});
quando cambio l'estensione in ts
ed eseguo tsc
per compilarlo, restituisce:
.ts(1,10): error TS2304: Cannot find name 'require'.
L'esecuzione di npm install @types/node --save-dev
risolve il problema e il file è compilato e può essere eseguito utilizzando il nodo.
Domanda
Sulla base dei risultati vorrei suggerire la seguente politica:
- Se è necessaria una libreria, ad es. postgres controlla se ce n'è uno disponibile per dattiloscritto
- Se questo non è il caso, controlla se una libreria è disponibile per NodeJS
- Se è vero, includilo nel codice dattiloscritto, compilalo e utilizza il codice
Anche altre aziende seguono questa strategia? Qual è la loro opinione su questo e quali sono i pro e i contro?