web-dev-qa-db-ja.com

Visual Studio->共有TypeScriptライブラリ-> TS6059ファイル ''は 'rootDir' ''の下にありません。 「rootDir」にはすべてのソースファイルが含まれている必要があります

Visual Studio 2017を使用しており、Reactで記述されたTypeScriptコンポーネントを共有することになっている2つの個別のWebプロジェクトがあります。共有のJavaScriptファイルとCSSファイルも使用できます。このために、Visual StudioでShared Projectを作成しました。

Visual Studio 2015の共有プロジェクトとクラスライブラリの違いは何ですか?

現在、プロジェクトにはこの情報を含む単一のファイルしかありません。

export const Types = {
    Type1: '1',
    Type2: '2',
    Type3: '3'
}

テストのために私はこのようにそれを参照することができ、Visual Studioはファイルを見つけます:

import { Types} from '../../../2/Constants/Types'

しかし、次にwebpackを実行しようとすると、次のエラーが発生します。

TS6059:ファイル '/2/Constants/Types.ts'は 'rootDir' '/ 1'の下にありません。 「rootDir」には、すべてのソースファイルが含まれている必要があります。

9
Ogglas

私のtsconfig.jsonに問題が見つかりました。私は次の値を持っていました:

"rootDir": ".",

これに変更した場合、機能し始めました:

"rootDir": "../",

しかし、ハンドブックによれば、デフォルト値はこれでした:

共通ルートディレクトリは、入力ファイルのリストから計算されます

これを読んだ後、値を完全に削除し、代わりにコンパイラにデフォルト値を設定させることにしました。

https://www.typescriptlang.org/docs/handbook/compiler-options.html

6
Ogglas

この目的のために rootDirs コンパイラオプションを使用しましたが、うまくいくようです!

"rootDirs": [
  "../some/folder/outside",
  "src",
]
11
jedmao