[解決済み] Typescript がウィンドウやドキュメントの名前を見つけることができない
2023-02-11 01:42:28
質問
どちらの場合でも
document.getElementById('body');
// or
window.document.getElementById('body');
私は
error TS2304: Cannot find name 'window'.
で何かを見逃しているのでしょうか?
tsconfig.json
をインストールする必要がありますか?
を実行すると、メッセージが表示されます。
tsc
というメッセージが表示され
vscode
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"
]
}
私の答え
使用方法
tsconfig.json
ターゲット
es5
を使用し
lib: ["es2015", "dom"]
どのように解決するのですか?
ターゲティングが原因だと思われます。
ES2016
.
理由があってそれをターゲットにしているのでしょうか?もしあなたが
es6
をターゲットにすれば、おそらくエラーはなくなるでしょう。
もう一つの方法は、コンパイラが使用するライブラリを指定することです。
tsc -t ES2016 --lib "ES2016","DOM" ./your_file.ts
これで、エラーも消えるはずです。
なぜlibsがデフォルトで使用されないのかよくわからないのですが、その理由は
コンパイラオプションのドキュメント
には
--lib
オプションについて述べています。
注意: --lib が指定されない場合、デフォルトのライブラリが注入されます。その場合 注入されるデフォルトのライブラリは
ターゲットES5の場合: DOM,ES5,ScriptHost
► --target ES6用。DOM,ES6,DOM.Iterable,ScriptHostを使用します。
をターゲットとした場合のデフォルトのライブラリが何であるかは記述されていません。
ES2016
.
バグかもしれませんので、issueを開いてみてください。
関連
-
[解決済み] TypeScript getting error TS2304: cannot find name ' require'.
-
[解決済み] URLを新しいタブで開く(新しいウィンドウではない)
-
[解決済み] 画面サイズ、現在のウェブページ、ブラウザウィンドウのサイズを取得する
-
[解決済み] jQueryを使用しない$(document).ready相当
-
[解決済み] TypeScriptで文字列を数値に変換する方法とは?
-
[解決済み] TypeScript で `window` に新しいプロパティを明示的に設定するにはどうすればよいですか?
-
[解決済み】TypeScriptのインターフェースと型について
-
[解決済み] Javascript / jQueryでAndroid端末を検出する。
-
[解決済み] JavaScriptでの大文字小文字を区別しない正規表現
-
[解決済み] BlobからArrayBufferへ移行する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JavaScriptで次の要素/前の要素を取得しますか?
-
[解決済み] Google maps API V3 - 同一地点に複数のマーカーを設置する。
-
[解決済み] Angularjs - 現在の日付を表示する
-
[解決済み] モバイルWeb HTML5フレームワークの選び方【終了しました
-
[解決済み] URL/アドレスバーからJavascriptの関数を呼び出す
-
[解決済み] jQueryの$という記号の意味は何ですか?
-
[解決済み] コールバック地獄とは何か、RXはそれをどのように、そしてなぜ解決するのか?
-
[解決済み] jQueryで入力ファイルが空かどうかをチェックする方法
-
[解決済み] JavaScriptでjson-objectのキーを取得する [重複].
-
[解決済み] イテレータでmap()を使用する