W naszym projekcie kątowym2 umieszczamy wszystkie pliki modeli ts w określonym folderze:/app/common/model/*. Mogę nazywać je w moich komponentach ścieżkami krewnymi, ale jest to bardzo pracochłonne. Więc 2 rozwiązania, najlepiej jest niestandardową ścieżką: StackOverflow: Relative Paths for SystemJS & ES module imports. Ale moje IDE nie może znaleźć ścieżki. Oto moja tsconfig:Ścieżka bezwzględna importu Angular2 lub ścieżka niestandardowa (maszynopis 2)
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": true,
"suppressImplicitAnyIndexErrors": true,
"outDir": "built",
"baseUrl": ".",
"paths": {
"mymodel/*": [
"app/common/model/*"
]
}
}
}
W mojej części: import { Address } from 'mymodel/address.model';
IDE: [ts] Nie można odnaleźć modułu .... Próbowałem z lub bez * w ścieżce
drugie rozwiązanie: Stackoverflow: Angular 2, imports between different folders
IDE i kompilacja są ok, z pełną ścieżką w składniku: import { Address } from 'common/model/address.model';
A tsconfig:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": true,
"suppressImplicitAnyIndexErrors": true,
"outDir": "built",
"baseUrl": ".",
"paths": {
"*": [
"app/*",
"node_modules/*"
]
}
}
}
Ale mamy 404 na stronie obciążenia dla wszystkich modeli. Może konfiguracja w pliku systemjs?
W obu przypadkach uważam, że problemem jest "outdir", a czegoś brakuje.
Wielkie dzięki za pomoc!
Pozdrawiam,
maszynopis: 2.0.6 kątowa: 2.0.0
Z którego IDE korzystasz? W moim (IntelliJ/Webstorm) prawie nigdy nie wpisuję importu: IDE dodaje go dla mnie. –
Kod Visual Studio. Czy w Twojej jest to absolutna ścieżka? – lginlap
Pierwsze rozwiązanie działa wspaniale z innymi IDE ... Przepraszamy, to fałszywy problem – lginlap