2016-07-22 7 views
3

Gibt es einen gebrauchsfertigen Weg, um eine Methode oder Funktion in meinem TypeScript-Code zu markieren, wie nur für Entwicklung/Debug, so dass es nicht in Produktionscode geht, wenn mit Webpack kompiliert?Markiere eine Methode oder eine Funktion als dev-only in TypeScript?

So etwas wie Kommentare sind aus dem Code herausgeschnitten.

Ich habe einige Funktionen, die ich manchmal zum Debuggen der App, aber nicht in der Produktion verwendet. Ich möchte sie nicht zur Produktion kommentieren, weil jemand anderes im Team entscheiden kann, diesen Code als veraltet zu entfernen, wenn er kommentiert wird.

Antwort

1

TypeScript hat keine Möglichkeit dies zu tun, aber Sie können es erreichen, indem Sie einen Task-Runner wie gulp verwenden und ein Plugin wie this verwenden.

Ich habe Webpack vorher noch nicht wirklich benutzt, aber ich habe ein Plugin gefunden, mit dem man Funktionen aus dem Code here entfernen kann.

0

Für Methoden klingt das knifflig. Für Funktionen ist es mit dem Define-Plugin, das im Lieferumfang von Webpack enthalten ist, ziemlich einfach.

1) umgeben den Code, den Sie mit

in Produktion gegangen wollen
if (ENV_MODE === 'dev') { 
    ... 
} 

2) In Ihrer Konfigurationsdatei, verwenden Sie diese Array innerhalb des Plugins:

new webpack.DefinePlugin({ 
    'ENV_MODE': "'prod'" // or "'dev'" 
}) 

3) Dann Rohr der Ausgang verunstalten

new webpack.optimize.UglifyJsPlugin 

verwenden, die toten Code wie die if-Anweisungen zu entfernen, die wieaussehen jetzt