2016-04-24 10 views
6

So che questo suona come una cosa strana da chiedere, ma c'è comunque di ottenere il numero di riga corrente in uno script dattiloscritto in modo che sarà emesso al codice JavaScript risultante? Immagino di dover cercare qualcosa come il preprocessore di CPosso ottenere il numero di riga corrente a macchina

__LINE__

variabile.

Edit: sto chiedendo la riga corrente nel file di origine dattiloscritto (che di solito è diverso dal numero di riga corrispondente nel file JavaScript risultante).

+0

Eventuali duplicati di [Come è possibile determinare il numero di riga corrente in JavaScript?] (Http://stackoverflow.com/questions/2343343/how-can-i-determine-the-current-line-number-in- javascript) –

+0

Il typescript traspone in Javascript, quindi questa domanda equivale a chiedere la stessa cosa per Javascript. –

+4

@ IngoBürk no, non è necessariamente il caso. Forse vuole la riga corrente nel codice sorgente del dattiloscritto e non nel codice js transpiled. Quello che puoi fare, suppongo, è usare la soluzione per ottenere il numero di linea js e quindi usare la mappa sorgente per ottenere la riga nel codice sorgente del dattiloscritto. –

risposta

2

penso souremaps faranno quello che ti serve. Le sourcemaps sono un modo per mappare un file javascript allo stato non modificato.

Se si configura il compilatore dattiloscritto per includere sourcemaps poi Chrome e altri strumenti di sviluppo possono fare riferimento i file dattiloscritto. Il risultato sarebbe simile a questa:

//index.ts 
 

 
console.log('hey, here is a log!'); 
 

 
console.error('hey, here is an error');

che produrrebbe questo nella console di strumenti di sviluppo di Chrome:

hey, here is a log! index.ts:3

hey, here is an error index.ts:5

I numeri di linea sarebbe essere corretto anche se il compilatore di dattiloscritto si spoglia ou t le linee vuote e riformattare il codice.

Spero che questo aiuti!

Problemi correlati