Se si desidera ottenere qualcosa di simile alle direttive #if
da C#, sarà necessario creare qualcosa che rimuove un determinato codice quando viene creata l'applicazione.
Per fare ciò, ci sono alcuni plugin di build che è possibile utilizzare. Ci sono alcuni plugin build (vedi here e here) che metterà a nudo il codice che è all'interno di commenti come questo al momento della compilazione:
/* test-code */
removeMeInProduction();
/* end-test-code */
Tuttavia, utilizzando questi plugin si potrebbe fare un errore di ortografia di test-code
o end-test-code
causandoti di lasciare il codice di prova in produzione. Non otterrai un errore di compilazione a riguardo.
Per questo motivo, probabilmente è meglio trovare un plug-in di compilazione che rimuova una funzione in base al suo nome (vedere here, purtroppo per questo non riesco a trovare un plug-in per il gulp). In questo modo si potrebbe scrivere qualcosa di simile:
function ifNotProduction(func:() => void) {
func();
}
quindi utilizzarlo:
ifNotProduction(() => {
console.log("Only run when test.");
});
e poi dire lo script di build per togliere l'utilizzo di tale funzione quando non è un accumulo di produzione.
Nel complesso, tuttavia, la semplice soluzione di controllare un booleano è sufficiente.
fonte
2015-10-02 14:22:47
Questa è una buona risposta. –