2017-10-09 1 views
1

Das Projekt wurde über angulare CLI generiert. Ich habe die folgende Ordnerstruktur:Pfad in tsconfig.app.json für das eckige Projekt definieren

enter image description here

Ich möchte tsconfig.app.json einen Pfad zu einem Bar Ordner definieren und importieren Car zu Garage.

Mein tsconfig.app.json:

{ 
    "extends": "../tsconfig.json", 
    "compilerOptions": { 
    ... 
    "baseUrl": "./", 
    "paths" : { 
     "@bar" : ["foo/bar"] 
    }, 
    ... 
    }, 
    ... 
} 

Mein Garage.ts:

import { Car } from "@bar/Car"; 
export class Garage {} 

In garage.ts Ich habe einen Fehler:

Cannot find module '@bar/car'.

+0

Sie finden [diesen Artikel] (https://blog.angularindepth.com/configuring-typescript-compiler-a84ed8f87e3#06ea) hilfreich, es erklärt, wie und warum 'Pfade' ziemlich aufwändig verwenden –

+0

@ AngularInDepth.com , Danke mein Herr. Ich habe den Artikel kurz durchgelesen, verstehe ihn aber immer noch nicht. Kannst du bitte einige Einblicke geben, warum das 'Car'-Modul in diesem speziellen Beispiel nicht gelöst werden kann? – koryakinp

+0

Ich habe gepostet [meine Antwort] (https://Stackoverflow.com/a/46640069/2545680) –

Antwort

2

Sie müssen paths so definieren:

"paths" : { 
     "@bar/*" : [ 
      "foo/bar/*" 
     ] 
    }, 

Für weitere Informationen lesen

+0

Vielen Dank Sir, es löste das ursprüngliche Problem, aber der Editor (in meinem Fall VS-Code) beschwert sich immer noch [ts] Kann Modul '@ bar/Car' nicht finden. ' – koryakinp

+0

@koryakinp, sorry, ich kenne VSCode nicht. Betrachten Sie separate Frage –

+0

Das schleppende * im Pfad selbst (foo/bar/*) war die Crux in meinem Fall. – treeno

0

Ich denke, das könnte funktionieren

{ 
    "extends": "../tsconfig.json", 
    "compilerOptions": { 
    ... 
    "baseUrl": "./", 
    "paths" : { 
     "@bar" : ["foo/bar"], 
     "@environment/*": ["environments/*"], 
     "@shared/*": ["app/_shared/*"], 
     "@helpers/*": ["helpers/*"] 
     //you can define multiple paths inside this 
    }, 
    ... 
    }, 
    ... 
} 

und die Frage sieht aus wie doppelte von question

+0

Sorry, es war eigentlich '" Pfade ": {" @bar ": [" foo/bar "]}, ' – koryakinp

+0

bearbeitet meinen Code, um zusätzliche Details @ koryakinp – Vignesh

Verwandte Themen