nodejs krever inne loggfila

stemmer
69

Jeg lurer på hvordan du skal legge vanlig nodejs modulen fra node_moduleskatalogen fra innsiden TypeScriptklasse.

Når jeg prøver å kompilere .tsfilen som inneholder:

var sampleModule = require('modulename');

Kompilatoren forteller meg at jeg kan ikke bruke kreve i dette omfanget. (Linjen er ved begynnelsen av filen).

Er det en måte hvordan å laste og bruke moduler fra node_modulesinnsiden TypeScriptklasse?

Publisert på 05/10/2012 klokken 08:05
kilden bruker
På andre språk...                            


4 svar

stemmer
78

Loggfila vil alltid klage når det ikke er i stand til å finne et symbol. Kompilatoren kommer sammen med et sett av standarddefinisjoner for window, documentog slik spesifisert i en fil som heter lib.d.ts. Hvis jeg gjør et grep for requirei denne filen finner jeg ingen definisjon av en funksjon require. Derfor må vi fortelle kompilatoren oss selv at denne funksjonen vil eksistere under kjøring ved å bruke declaresyntaksen:

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

På mitt system, sammenstiller dette helt fint.

Svarte 05/10/2012 kl. 08:26
kilden bruker

stemmer
34

Riktig syntaks er:

import sampleModule = require('modulename');

eller

import * as sampleModule from 'modulename';

Deretter kompilere Loggfila med --module commonjs.

Hvis pakken ikke kommer med en index.d.tsfil og det package.jsonhar ikke en "typings"eiendom, tscvil bark at den ikke vet hva 'modulename'refererer til. For dette formålet må du finne en .d.tsfil for den på http://definitelytyped.org/ , eller skrive en selv.

Hvis du skriver koden for node.js vil du også vil at node.d.tsfilen fra http://definitelytyped.org/ .

Svarte 03/02/2016 kl. 07:47
kilden bruker

stemmer
24

Den beste løsningen er å få en kopi av Node typedefinisjoner. Dette vil løse alle typer avhengighet problemer, ikke bare require(). Dette ble tidligere gjort ved hjelp av pakker som typings, men som Mike Chamberlain nevnt, typings foreldet. Den moderne måten å gjøre det på denne måten:

npm install --save-dev @types/node

Ikke bare vil det fikse kompilatoren feil, vil det også legge til definisjoner av Node API til IDE.

Svarte 18/10/2017 kl. 21:20
kilden bruker

stemmer
4

Bruk typings å få tilgang til nodefunksjoner fra Loggfila:

typings install env~node --global

Hvis du ikke har typings installere det:

npm install typings --global
Svarte 29/12/2016 kl. 09:42
kilden bruker

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