2015-03-17 9 views
6

Trovo il percorso di importazione nei moduli ES6 molto confuso quando lo si utilizza in CLI di Ember. Ad esempio, se voglio importare un modello profondo nella mia richiesta, finisco per fare qualcosa di simile:Moduli Ember CLI ES6: percorso di importazione per root dell'app

import User from '../../../../../models/user'; 

Questo è un esercizio di prova ed errore, in quanto è difficile da visualizzare facilmente quanto in profondità nella cartella albero da cui sto usando questo. Ancora peggio, se refactoring i miei file, tutto si rompe.

Così in alternativa, posso utilizzare un percorso assoluto come questo:

import User from 'app-name/models/user'; 

preferisco non hard-code il nome dell'applicazione nel percorso, perché può cambiare.

Esiste una scorciatoia per specificare la radice dell'app?

./ non funziona perché ./ indica il percorso corrente.

import User from './models/user'; 
+1

Questo post ha una varietà di idee: http://lostechies.com/derickbailey/2014/02/20/how-i-work-around-the-require-problem-in-nodejs/ –

risposta

1

Purtroppo non c'è modo per citarne programmazione importazioni ES6 almeno in Ember quindi non è possibile utilizzare ENV.modulePrefix.

Tuttavia esiste una soluzione alternativa. Ogni volta che si desidera modificare il prefisso del modulo, eseguire questo comando GNU sed da ZSH all'interno della radice di Ember.

sed -i 's/previousName/newName/g' **/*