2019-4-3
[VSCode]jsconfig.jsonに関して
VSCode の JS に関する設定ファイル
include/exclude
プロジェクトのソースコードとして認識させるファイル群をホワイトリスト/ブラックリスト形式で指定する。両方共 glob パターンが使用できる。
注意点はinclude
やexclude
によって除外されたファイルも検索対象ではあるということ。ファイルを解析の対象から除外することでパフォーマンスの向上を目論むのが主目的みたい。例えば、この設定をしておくと minify され出力されたファイルをうっかり開いてしまってファイルの解析が始まりもたつくみたいな事がなくなるとかそういうあれ。
ドキュメントには記載が見当たらなかったけど、.gitignore
されているファイルに関してはデフォルトで無視されてる感じがする。
それぞれの書き方は以下の通り、
{
"exclude": {
"node_modules"
}
}
{
"include": {
"src/**/*"
}
}
include
が指定されていない場合、ワークスペース内の全ファイルがソースコードとしてみなされる。
compilerOptions
配下のオプション
オプション | 説明 |
---|---|
noLib | lib.d.ts を include しない |
target | どのlib.d.ts を使用するか。"es3", "es5", "es6", "es2015", "es2016", "es2017", "es2018", "esnext"のどれかを指定 |
checkJs | JavaScript ファイルの型チェックを有効にする |
experimentalDecorators | 提案段階の ES デコレータの試験的サポートを有効にする |
allowSytheticDefaultImports | export default が存在しないモジュールからのimport default を許可する。これはチェックするだけで出力されるコードには影響しない。 |
baseUrl | 相対パス指定されていないモジュールを解決するためのベースディレクトリ |
paths | baseUrl を基準とした相対パスのパスマッピング |
checkJs
あたりは、JS でもできる範囲で型チェックしてくれるので結構使い所が多いかもしれない。
lib.d.ts
lib.d.ts - TypeScript Deep Dive 日本語版
JS の標準関数とかブラウザ標準 API 関係の型定義ファイルみたい。
VSCode に webpack とか VueCLI とかでよくある alias を認識させる
baseUrl
とpaths
を指定することで認識させる。
例えば、@
がsrc
のエイリアスである場合、
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@/*": ["src/*"]
}
}
}
と書けばいい。エイリアスを利用しているプロジェクトでは絶対設定したい。