Bonjour,

Je souhaite me former à TypeScript.
J'ai suivi ce tuto : https://www.tutorialspoint.com/typescript/index.htm

Il a le gros avantage de "partir de rien", et rester avec TypeScript pur, sans reposer sur des modules externes qui font qu'on ne sait plus qui est TypeScript et qui ne l'est pas.

En revanche, il ne va pas plus loin, et je bloque pour passer à l'étape suivante.

J'ai donc installé nodejs te typescript sur une VM Ubuntu 20.04
Les exemples du tuto fonctionnent bien.

J'ai installé SQL Server, et là je bloque, car je ne trouve pas faire tomber tout ça en marche.
https://www.npmjs.com/package/mssql

J'ai tenté d'installer les modules "mssql" et "@types/mssql", ainsi que "@types/node" pour corriger un message d'erreur à la compilation.
Code typescript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
const sql = require('mssql')
 
async () => {
    try {
        // make sure that any items are correctly URL encoded in the connection string
        await sql.connect('mssql://login:password@localhost/sandbox')
        const result = await sql.query`select * from test`
        console.dir(result)
    } catch (err) {
        // ... error checks
    }
}

Ca compile, mais ça marche pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
moi@machine:~/share/testsql$ tsc test.ts
moi@machine:~/share/testsql$ node test.js
internal/modules/cjs/loader.js:638
    throw err;
    ^
 
Error: Cannot find module 'mssql'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
    at Function.Module._load (internal/modules/cjs/loader.js:562:25)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at Object.<anonymous> (/home/sylvain/share/testsql/test.js:42:11)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
J'imagine qu'il faut déclarer "mssql" quelque part, mais je pige pas où...