J'ai un serveur nodejs TypeScript avec cette structure:
tsconfig.json
package.json
src/
middleware/
utils/
index.ts
dist/
middleware/
utils/
index.ts
Lors de l'utilisation de TypeScript 2, j'ai pu transpiler mon projet du src/vers un dossier dist/et avoir une image miroir de ma structure de répertoires avec laquelle travailler.
Avec la sortie de TypeScript 3, ils ont introduit références de projet et changé la façon dont le code est transposé dans un répertoire de sortie. Maintenant, tsc
sort dans le dossier dist/de manière imbriquée comme ceci:
dist/
src/
middleware/
utils/
index.ts
Mon tsconfig.json est:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"allowJs": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"resolveJsonModule": true,
"declaration": false,
"outDir": "dist/",
"lib": [
"es7",
"dom"
]
},
"include": [
"src/"
]
}
Comment puis-je configurer TypeScript pour sortir mon dossier src/en tant qu'image miroir dans un dossier dist /?
Le problème apparaît après l'ajout de resolveJsonModule: true
à tsconfig.json
La mise à niveau de TypeScript 2 vers 3 en elle-même n'aurait pas dû changer le comportement; si nous pouvons confirmer que c'est le cas, cela peut être un bug. Dans tous les cas, vérifiez que l'option du compilateur rootDir
pointe vers votre répertoire src
et non vers le répertoire parent, car la structure sous le rootDir
est ce qui se reflète sous le outDir
.