問題点
tsconfig.jsonに"strictNullChecks": true;を記述していますが効いていません。
strictNullChecksの書き方は各種解説サイトをコピペしたため、tsconfig.jsonが読み込めていない可能性があります。
コードを書いている時点でnullもチェックしたいのですが、どのように設定等をすればnullをチェックできるようになるでしょうか。
ソースコード
json
1{ 2 "compilerOptions": { 3 "target": "es5", 4 "lib": [ 5 "dom", 6 "dom.iterable", 7 "esnext" 8 ], 9 "allowJs": true, 10 "skipLibCheck": true, 11 "esModuleInterop": true, 12 "allowSyntheticDefaultImports": true, 13 "strict": true, 14 "strictNullChecks": true, 15 "forceConsistentCasingInFileNames": true, 16 "module": "esnext", 17 "moduleResolution": "node", 18 "resolveJsonModule": true, 19 "isolatedModules": true, 20 "noEmit": true, 21 "jsx": "react" 22 }, 23 "include": [ 24 "src" 25 ] 26}
typescript
1let s: number = 2; 2s = null;
ディレクトリ構成
このディレクトリ構成は、
npx create-react-app hello-world --typescript
で生成された構成に、test.tsを手動で追加したものです。
ts-nodeでのエラーメッセージ
ts-nodeで確認すると、nullに対するエラーが表示されます。
一方、
test.ts:1:1 - error TS1208: All files must be modules when the '--isolatedModules' flag is provided.
といったエラーが表示されます。
このエラーについては翻訳しても調べても意味がよく分かりませんでしたが、
Why is --isolatedModules error fixed by any import?
Ask Question
上記stack overflowでの回答にインポートまたはエクスポートを記述することでエラーが無くなると読み取りました。
しかし、私が参考にしている書籍(同人誌のため詳細は一旦伏せます)では、インポート・エクスポートいずれも記述する工程は踏んでいません。
ただし、上記のエラーが発生しているため、tsconfig.jsonまたはstrictNullChecksが効いていない可能性があるかもしれないと思いました。
調べたこと
「tsconfig 効かない」でググると下記ページを見つけました。
TypeScript の tsconfig.json が効かない
上記ページを参考に、tsconfig.jsonに
json
1"rootDir": "/"
と記述してみましたが、問題の解決にはいたりませんでした。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。