Wie kann man das “@types/node/index.d....ts ist nicht ein Modul"?
Habe ich installiert-Knoten-Typ-Definitionen mit dem folgenden Befehl
npm install --save-dev @types/node
Danach, wenn ich versuche zu importieren, Knoten-Typ-Definitionen mit Hilfe der folgenden Anweisung
import { Process } from '@types/node';
oder
import { Process } from 'node';
Bekomme ich die folgende Fehlermeldung
[ts] File '<root_path>/node_modules/@types/node/index.d.ts' is not a module.
Ich bin sicher, es ist etwas sehr grundlegendes, dass ich hier vermisst, aber ich kann nicht herausfinden.
Paar mehr Dinge, die
- Ich bin mit Windows 8
- Ich bin mit Visual Studio-Code -
Hier ist, wie mein tsconfig.json
sieht
{
"compilerOptions": {
"target": "es2015",
"module": "commonjs",
"outDir": "lib",
"typeRoots": [
"node_modules/@typings"
]
},
"exclude": [
"node_modules"
]
}
Und hier ist, wie mein webpackconfig.js
sieht
var path = require('path');
module.exports = {
entry: './ts/handler.ts',
target: 'node',
module: {
loaders: [
{ test: /\.ts(x?)$/, loader: 'ts-loader' },
{ test: /\.json$/, loader: 'json-loader' }
]
},
resolve: {
extensions: ['.ts', '.js', '.tsx', '.jsx']
},
output: {
libraryTarget: 'commonjs',
path: path.join(__dirname, '.webpack'),
filename: 'handler.js'
},
};
- Sie brauchen nicht zu importieren aus
@types/node
. Sie brauchen, um zu importieren, die nur aus 'Knoten'. Auch Sie müssen sich änderntypeRoots
zu[ "node_modules/@types" ]
in Ihremtsconfig.json
- immer dieselbe Fehlermeldung nach dem Import nur aus
node
- immer noch der gleiche Fehler nach dem ändern
typeRoots
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Anstelle von:
Sie brauchen, um Ihre
tsconfig.json
:Nach tun, dass die Prozess-variable wird als global.
Manchmal müssen Sie zum importieren aus einer Node.js Modul wie zum Beispiel die
fs
Modul. Sie tun kann:Brauchen Sie nicht zu importieren
fs
von "Knoten" oder "@types/Knoten".Erfahren Sie mehr hier.
Process
- Schnittstelle definiert die Knoten-Typ-Definitionen?NodeJS.Process
Es ist, denn im Knoten der Eingabe-Datei alle module erklärt hat, mit dem Namen Knoten.
Wenn Sie
Maschinenschrift, werden versuchen zu finden eine Knoten-Modul oder Knoten namespace
Hier können Sie laden die komplette Datei mit
In Ihrem Fall, Sie wollen nur Prozess von der NodeJS-namespace :
Aftert, die Sie gerade benötigen, rufen Sie es wie folgt :
EDIT :
Wenn Sie Typoskript >= 2.0 sollten Sie nicht brauchen, um hinzuzufügen, importieren Sie Sie in Ihre Datei, nur wenn Sie wollen, um zu "optimieren " importieren"