95 votes

Typescript : impossible d'utiliser l'instruction import en dehors d'un module

J'ai un fichier .ts dans l'application node js (dernière version de node.js pour le 07.10.19) avec importation de module de nœud sans exportation par défaut. J'utilise cette construction : import { Class } from 'abc'; Lorsque j'exécute le code, j'ai cette erreur : Cannot use import statement outside a module .

Dans le réseau, je vois de nombreuses solutions à ce problème (pour .js), mais cela ne m'aide pas, peut-être parce que j'ai un fichier dactylographié. Voici mon code :

 import { Class } from 'abc';
module.exports = { ...
    execute(a : Class ,args : Array<string>){ ...

Voici mon tsconfig.json :

 {
  "compilerOptions": {
    "target": "es6",
    "module": "commonjs",

    "strict": true
  }
}

8voto

Jordan Morris Points 360

Assurez-vous que votre champ "main" package.json pointe vers le index.js compilé et non le index.ts

5voto

Jakub Kurdziel Points 298

J'ai eu un problème très similaire. J'ai dû installer nodemon et toujours démarrer le script via nodemon index.ts

 yarn add -D nodemon

package.json

 "scripts": {
   "start": "nodemon index.ts"
}

ou pour spécifier le fichier depuis la ligne de commande

package.json

 "scripts": {
   "nodemon": "nodemon $1"
}

-8voto

Vladimir Points 79

installez le package ts-node et modifiez votre package.json

 "scripts": {
    "dev": "ts-node index.ts"
  }

UPD : cela peut se produire lors de l'utilisation de ts-node

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X