2016-05-31 16 views
6

Come organizzare la struttura di cartelle di applicazioni Angular 2 come i pacchetti Java?Come posso organizzare le mie cartelle di applicazioni Angular come un pacchetto Java?

Si consideri il seguente layout del progetto:

app 
|_model 
|_component 
|_service 

Vorrei importare foo.service.ts da servizio-bar.component.ts in componente. Ma per quanto ne so, l'importazione Angular 2 supporta solo percorsi relativi come /../service/, che sembra una soluzione molto goffo.

C'è un modo per fare riferimento alle cartelle con bagno assoluto dalla cartella radice , come con i pacchetti Java?

risposta

3

UPDATE 2016-06-01

utilizzando npm install [email protected] è già possibile utilizzare questa funzione

Presumo che il tuo albero assomigli a questo:

node_modules 
|[email protected] 
|_rxjs 
app 
|_model 
|_component 
|_service 
package.json 
tsconfig.json 

Si dovrebbe aggiungere nel vostro tsconfig.json le seguenti righe:

{ 
    "compilerOptions": { 
    "baseUrl": ".", 
    "paths": { 
     "*": [ 
     "app/*", 
     "node_modules/*" 
     ] 
    } 
    } 
} 

allora è possibile fare riferimento i moduli come si fa con regolare @ angolare/rxjs moduli

import { MyService } from 'service/MyService'; 
import { Component } from '@angular/core'; 
import { Observable } from 'rxjs'; 

Nota: webpack ha bisogno anche delle seguenti linee in webpack.config.js

resolve: { 
    modulesDirectories: [ 
     'node_modules', 
     'app' 
    ] 
} 
+0

Come già accennato, questo è in discussione dallo scorso settembre (https://github.com/Microsoft/TypeScript/issues/5039). Sono solo sorpreso che non ci abbiano pensato prima. Andare con "../../../" è così ingombrante. Grazie per la risposta. [email protected] arriverà presto; La beta è stata rilasciata 6 giorni fa :) – MaximeBernard

Problemi correlati