[解決済み】 --isolatedModules のエラーは、どのようなインポートでも修正されるのはなぜですか?
2022-04-13 15:29:31
質問
create-react-app タイプスクリプトのプロジェクトで、あるものを手早くテストするためにこれを書こうとしました。
// experiment.test.ts
it('experiment', () => {
console.log('test');
});
しかし、次のようなエラーが表示され、その下に赤い四角い線が表示されます。
it
:
--isolatedModules'フラグが指定されている場合、すべてのファイルがモジュールでなければなりません。
しかし、このファイルを以下のように変更すると、どうやらすべてうまくいくようです(もちろん、未使用のimportを除いて)。
// experiment.test.ts
import { Component} from 'react'; // literally anything, don't even have to use it
it('test', () => {
console.log('test');
});
なぜ?ここで何が起こっているのでしょうか?何が
--isolatedModules
を意味するのか?
どのように解決するのですか?
Typescript は import/export のないファイルをレガシースクリプトファイルとして扱います。そのようなファイルはモジュールではないので、それらのファイルが持つ定義はすべてグローバルな名前空間にマージされます。
isolatedModules
はそのようなファイルを禁止しています。
ファイルにimportやexportを追加すると、モジュールになり、エラーが消えます。
また
export {}
は便利な方法です
を使えば、何もインポートせずにファイルをモジュール化することができます。
関連
-
[解決済み】Typescript: スプレッド型はオブジェクト型からしか作成できない
-
[解決済み] タイプスクリプトのコンパイルで「tsc コマンドが見つかりません。
-
[解決済み] as "というキーワードは何を意味するのでしょうか?
-
[解決済み] TSがモジュールを見つけ出せない
-
[解決済み] Object literal may only specify known properties" というエラーが発生するのはなぜですか?
-
[解決済み] TypeScriptでオブジェクトに動的にプロパティを割り当てるには?
-
[解決済み] TypeScriptで文字列をenumに変換するには?
-
[解決済み] 'unknown' vs. 'any'
-
[解決済み】文字列の値を持つenumの作成
-
[解決済み] TypeScriptのカスタムグローバルインターフェース(.d.tsファイル)を設定する方法は?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] タイプスクリプトのエラーです。TS7053 要素が暗黙のうちに 'any' 型を持っています。
-
[解決済み] TypeScriptの円形型参照
-
[解決済み] eslintをtypescriptで使用する - モジュールへのパスを解決できない
-
[解決済み] Jestで関数をモックする方法
-
[解決済み] フォーインステートメント
-
[解決済み] エラー TS2345: 型 'T' の引数は型 'object' のパラメータに代入できません。
-
[解決済み] TypeScriptでパラメータとして強く型付けされた関数は可能か?
-
[解決済み] モジュール 'module-name' の宣言ファイルが見つかりませんでした。'/path/to/module-name.js' は暗黙のうちに 'any' 型を持っています。
-
[解決済み】TypeScriptの "not assignable to parameter of type never "エラーとは?
-
[解決済み】タイプライター。TS7006: パラメータ 'xxx' は暗黙のうちに 'any' 型を持つ。