2016-04-12 11 views
2

Ich habe ein einfaches Webpack-Plugin, das auf stdout schreibt, wenn eine Kompilierung startet und wenn es fertig ist. Wenn ich ein dynamisches habe und das Webpack im Watch-Modus starte, stellt sich heraus, dass das Webpack ständig versucht, in einer Art Endlosschleife zu kompilieren. Ich sehe, ist alles:Webpack dynamische erfordern verursacht endlose Kompilationen

[07.36.42] Webpack [admin] Compilation beginnt ...

[07.36.43] Webpack [admin] fertig Kompilierung.

[07.36.43] Webpack [admin] Compilation beginnt ...

[07.36.44] Webpack [admin] fertig Kompilierung.

[07.36.44] Webpack [admin] Compilation beginnt ...

[07.36.45] Webpack [admin] fertig Kompilierung.

[07.36.45] Webpack [admin] Compilation beginnt ...

[07.36.45] Webpack [admin] fertig Kompilierung.

[07.36.46] Webpack [admin] Compilation beginnt ...

[07.36.46] Webpack [admin] fertig Kompilierung.

Ohne irgendwelche emittiert werden. Sollte es nicht nach Dateiänderungen in bestimmten Verzeichnissen suchen und nur dann kompilieren, wenn sich etwas geändert hat?

Gibt es eine Möglichkeit, dies zu vermeiden?

EDIT

Es passiert eigentlich nur, wenn ich auch Arten in meinem Bündel enthalten und verwenden ExtractTextPlugin diejenigen in eine CSS-Datei zu extrahieren.

Dies ist die Setup für Stile:

module: { 
    loaders: [ 
     { 
      test: /\.css$/, 
      loader: ExtractTextPlugin.extract("style-loader", `css-loader!postcss-loader`, { 
       publicPath: '../' 
      }) 
     } 
    ] 
}, 
plugins: [ 
    new ExtractTextPlugin(`./${bundleFolder}/[name].css`) 
] 

EDIT 2

ich ein Problem zu webpack der Github vorgelegt: https://github.com/webpack/webpack/issues/2320

+0

Ja - achten Sie nicht auf Ihr Ausgabeverzeichnis für Änderungen –

+0

Sie meinen sicherstellen (durch ContextReplacementPlugin z. B.), dass das Ausgabeverzeichnis nicht durch die Regex übereinstimmt? – kamilkp

+1

Es ist nicht. Ich verwende require.context (... um den richtigen Kontext auszuwählen. – kamilkp

Antwort