Für jeden Fall:
document.getElementById('body');
// or
window.document.getElementById('body');
Ich bekomme error TS2304: Cannot find name 'window'.
Fehlt mir etwas tsconfig.json
für eine Definitionsdatei, die ich installieren soll?
Ich bekomme die Nachricht beim Laufen tsc
und invscode
tsconfig.json:
{
"compilerOptions": {
"allowJs": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"jsx": "react",
"module": "commonjs",
"moduleResolution": "node",
"noEmitOnError": true,
"noImplicitAny": false,
"sourceMap": true,
"suppressImplicitAnyIndexErrors": true,
"target": "ES2016",
"typeRoots": [
"node_modules/@types/",
"typings/index.d.ts"
]
},
"exclude": [
"node_modules",
"**/*-aot.ts"
]
}
Meine Antwort: Zur Verwendung mit tsconfig.json
Ich ziele es5
und benutzelib: ["es2015", "dom"]
javascript
typescript
typescript2.0
Steven Bayer
quelle
quelle
tsc
? Was ist Ihre aktuelletsconfig.json
Datei? Sie müssen relevantere Informationen bereitstellen, wenn Sie Hilfe benötigenAntworten:
Es scheint, dass das Problem durch das Targeting verursacht wird
ES2016
.Zielen Sie das aus einem bestimmten Grund an? Wenn Sie zielen, wird
es6
der Fehler wahrscheinlich verschwinden.Eine weitere Option besteht darin, die Bibliotheken anzugeben, die der Compiler verwenden soll:
tsc -t ES2016 --lib "ES2016","DOM" ./your_file.ts
Welches sollte auch den Fehler verschwinden lassen.
Ich bin nicht sicher, warum die Bibliotheken nicht standardmäßig verwendet werden. In den Dokumenten für Compileroptionen wird für die
--lib
Option Folgendes angegeben:Es wird jedoch nicht angegeben, welche Standardbibliotheken beim Targeting verwendet werden
ES2016
.Es könnte ein Fehler sein, versuchen Sie ein Problem zu öffnen, wenn Sie dies tun, teilen Sie bitte den Link hier.
quelle
--lib
s anstelle einiger willkürlicher Standardeinstellungen explizit deklariert werden muss."lib": ["dom"]
intsconfig.json
. Das hat bei mir funktioniert.verwenden
"lib": ["dom"]
in tsconfig.json
z.B
{ "compilerOptions": { "lib": ["es5", "es6", "dom"], "outDir": "./dist/", "sourceMap": true, "noImplicitAny": true, "module": "commonjs", "target": "es6", "moduleResolution": "node", "jsx": "react" }, "include": ["./src/**/*"] }
quelle
tsc
für Sie ausgeführt werden, können Sie die an sie übergebenen CLI-Argumente nicht so einfach ändern, aber Sie kontrollieren sie mit ziemlicher Sicherheittsconfig.json
)