Nous utilisons Visual Studio 2017
et ont deux projets Web distincts qui sont censés partager des composants React
écrits en TypeScript
. Il peut également y avoir des fichiers JavaScript
et CSS
partagés. Pour cela, nous avons créé un Shared Project
dans Visual Studio.
À l'heure actuelle, le projet ne possède qu'un seul fichier contenant ces informations.
export const Types = {
Type1: '1',
Type2: '2',
Type3: '3'
}
Pour les tests, je peux le référencer comme ceci et Visual Studio localisera le fichier:
import { Types} from '../../../2/Constants/Types'
Cependant, lorsque j'essaie d'exécuter webpack
, j'obtiens l'erreur suivante:
TS6059: Le fichier '/2/Constants/Types.ts' n'est pas sous 'rootDir' '/ 1'. 'rootDir' devrait contenir tous les fichiers source.
J'ai trouvé le problème dans mon tsconfig.json
. J'avais la valeur suivante:
"rootDir": ".",
Si je l'ai changé, cela a commencé à fonctionner:
"rootDir": "../",
Cependant, la valeur par défaut était la suivante selon le manuel:
le répertoire racine commun est calculé à partir de la liste des fichiers d'entrée
Après avoir lu ceci, j'ai décidé de supprimer complètement la valeur et de laisser le compilateur définir la valeur par défaut à la place.
https://www.typescriptlang.org/docs/handbook/compiler-options.html
J'ai utilisé l'option de compilateur rootDirs à cet effet et il semble que ça marche bien!
"rootDirs": [
"../some/folder/outside",
"src",
]