2017-03-20 6 views
-1

Ich habe festgestellt, dass einer der großen Ordner in einer meiner Abhängigkeiten nicht erforderlich ist. Aber da es fast 30kb meiner Build-Größe braucht, möchte ich es vom endgültigen Webpack-Build ignorieren. Dafür versuche ich den webpack ignorePlugin zu verwenden.Verwenden Sie ignorePlugin, um einen Ordner aus Abhängigkeiten zu ignorieren.

Dies ist, was ich bisher versucht habe:

new webpack.IgnorePlugin(/^\.\/precomputed$/, /elliptic$/), 

Der absolute Pfad für den Ordner, ich will zu ignorieren ist: node_modules/elliptic/precomputed

Was ich hier falsch mache? Ist noch etwas erforderlich? Danke für die Hilfe ! Schätzen Sie es

+0

Versuchen 'neue webpack.IgnorePlugin (/ \/elliptisch \/vorberechneten $ /)' –

+0

Oder einfach nur 'neue webpack.IgnorePlugin (/^node_modules \/elliptisch \/vorberechneten $ /)' –

+0

@ WiktorStribiżew, die nicht hat funktioniert. –

Antwort

2

Die regulären Ausdrücke :) Sie verwenden den Pfad des Moduls nicht übereinstimmen. nur

/^\.\/precomputed$/ Matches genau ./precomputed. Weil es den Beginn der Zeichenfolge ^ und das Ende der Schnur $ verwenden, und dazwischen ist nur ./precomputed.

/elliptic$/ entspricht jeder Zeichenfolge, die in elliitic endet.

Der richtige reguläre Ausdruck für Ihr Modul wäre:

/elliptic\/precomputed$/ 

Aber diese Spiele nur die Module, die in elliptic/precomputed (wegen des $ Ankers) zu beenden. Zum Beispiel elliptic/precomputed.js oder elliptic/precomputed/submodule sind nicht abgestimmt. Wenn Sie beabsichtigen, diese auch enthalten können Sie die $ entfernen und sie werden alle von ihnen entsprechen: in Regexr,

/elliptic\/precomputed/ 

Probieren Sie es, wenn Sie $ dem Muster hinzufügen werden Sie sehen, dass nur der erste Treffer .

+0

Möglicherweise gibt es ein Problem mit meiner Regex, aber selbst dann funktioniert ignorePlugin nicht wie erwartet. Der Ordner wird im endgültigen Build nicht ignoriert. :( –

Verwandte Themen