web-dev-qa-db-fra.com

Impossible de trouver le module 'ts-node / register'

Je souhaite utiliser mocha pour tester mon projet TypeScript/Angular2. J'ai essayé d'utiliser ts-node comme décrit ici :

npm install -g ts-node

mais en cours d'exécution

mocha --require ts-node/register -t 10000 ./**/*.unit.ts

Je reçois une erreur

Impossible de trouver le module 'ts-node/register'

Qu'est-ce que j'oublie ici?

32
lenny

Étant donné que la réponse qui convient à beaucoup de personnes semble être cachée dans les commentaires, je la posterai en tant que réponse réelle à la question, maintenant qu'il semble que la question a été rouverte.

J'ai eu ce problème aussi. Vous ne savez pas pourquoi ce Q a été fermé. mais l'installation de ts-node localement résout ce problème. npm install ts-node --save-dev

Merci @Anita, car c'était la réponse qui a fonctionné pour moi aussi.

41
Louie Bertoncin

Wow, une erreur stupide peut vous coûter du temps. J'étais confronté au même problème lorsque j'essayais de déboguer mon application nodejs. L’erreur que j’ai faite est que j’ai créé mon dossier .vscode En dehors de mon dossier nodejs app (le répertoire contenant node_modules). Lorsque j'ai déplacé mon .vscode Dans ce dossier, tout fonctionne correctement. Ci-dessous, mon fichier launch.json.

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "index",         
            "args": [
                "src/index.ts"
            ],
            "runtimeArgs": [
                "-r",
                "ts-node/register"
            ],
            "cwd": "${workspaceFolder}",
            "protocol": "inspector",
            "internalConsoleOptions": "openOnSessionStart"           
        }
    ],
    "compounds": []
}

enter image description here

4
Sibeesh Venu

Je sais que c'est un peu vieux, mais je l'ai aussi rencontré et je voulais proposer la solution que j'utilise actuellement.

J'ai installé ts-node globalement en utilisant Sudo npm i -g ts-node. Pour que cela fonctionne avec mocha, il me suffisait de donner à moka le chemin absolu vers le module, comme ceci:

mocha -r /usr/lib/node_modules/ts-node/register test/*Test.ts

J'espère que ça aide quelqu'un d'autre.

3
kael

Essayez cette commande à la place:

mocha --compilers ts:ts-node/register,tsx:ts-node/register

qui fonctionne pour moi.

3
Mike Lischke

Error: module.js:328 throw err; Error: Cannot find module 'ts-node'

Solution: la commande suivante résout le problème.
npm installe ts-node --save-dev

(Installe ts-node en tant que dépendance de développement pour votre projet)

0
user2712873