web-dev-qa-db-fra.com

Conserver la structure src / dossier lors de la construction vers dist / dossier avec TypeScript 3

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 /?

16
nfadili

Le problème apparaît après l'ajout de resolveJsonModule: true à tsconfig.json

1
Omega Cube

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.

0
Matt McCutchen