nodejs nécessitent fichier à l'intérieur dactylographiée

voix
60

Je me demande comment charger le module de nodejs régulière de node_modulesrépertoire à l' intérieur TypeScriptclasse.

Lorsque je tente de compiler le .tsfichier qui contient:

var sampleModule = require('modulename');

compilateur me dit que je ne peux pas utiliser besoin dans ce cadre. (Cette ligne est au début du fichier).

Est - il possible comment charger et utiliser les modules de l' node_modulesintérieur TypeScriptclasse?

Créé 05/10/2012 à 09:05
source utilisateur
Dans d'autres langues...                            


4 réponses

voix
77

Tapuscrit se plaindra toujours quand il est incapable de trouver un symbole. Le compilateur est livré avec un ensemble de définitions par défaut window, documentet comme indiqué dans un fichier appelé lib.d.ts. Si je fais un grep requiredans ce dossier , je ne trouve aucune définition d'une fonction require. Nous avons donc à dire nous le compilateur que cette fonction existe à l' exécution en utilisant la declaresyntaxe:

declare function require(name:string);
var sampleModule = require('modulename');

Sur mon système, ce compile très bien.

Créé 05/10/2012 à 09:26
source utilisateur

voix
30

La syntaxe correcte est:

import sampleModule = require('modulename');

ou

import * as sampleModule from 'modulename';

Puis compiler votre tapuscrit avec --module commonjs.

Si le paquet ne vient pas avec un index.d.tsfichier et il est package.jsonne dispose pas d' une "typings"propriété, tscaboie qu'il ne sait pas ce qui 'modulename'se réfère. A cet effet , vous devez trouver un .d.tsfichier pour sur http://definitelytyped.org/ ou écrire vous - même.

Si vous écrivez du code pour Node.js vous pouvez également le node.d.tsfichier à partir http://definitelytyped.org/ .

Créé 03/02/2016 à 07:47
source utilisateur

voix
16

La meilleure solution est d'obtenir une copie des définitions de type de nœud. Cela permettra de résoudre toutes sortes de problèmes de dépendance, non seulement require(). Cela a déjà été fait en utilisant des paquets comme typings, mais comme Mike Chamberlain mentionné, typages sont dépréciée. La façon moderne est en train de faire comme ceci:

npm install --save-dev @types/node

Non seulement il corriger l'erreur du compilateur, il ajoutera également les définitions de l'API de nœud à votre IDE.

Créé 18/10/2017 à 21:20
source utilisateur

voix
4

Utilisez typages pour accéder aux fonctions de noeud à partir de la machine à écrire:

typings install env~node --global

Si vous n'avez pas typages installer:

npm install typings --global
Créé 29/12/2016 à 09:42
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more