2017-03-15 7 views
1

Ich habe ein Teilprojekt innerhalb meiner App, die eigene node_modules/ und so enthält. Es ist in Skripten vom Hauptprojekt isoliert, sollte aber darin enthalten sein. Dies mag nicht sinnvoll sein, aber es ist wahr.Verzeichnis aus Webpack ausschließen

Die Sache ist, die node_modules (zumindest) stören webpack. Ich bekomme Fehler wie Duplicate Identifier, Cannot redeclare block-scoped variable, ...

Durch einfaches Löschen des Unterprojektverzeichnisses beginnt die Bündelung zu arbeiten.

Das beste Lösungsszenario wäre, einen Ausschlusseintrag in der Webpack-Konfiguration hinzuzufügen, aber die Dinge funktionieren nicht so.

Wie kann ich das beheben? Ich kann keine Lösung finden!

+0

Webpack etwa kümmert sich nicht darum das Unterverzeichnis, es sei denn, Sie importieren etwas daraus. Das Problem ist wahrscheinlich irgendwo in deiner Webpack-Konfiguration, vielleicht ein falsch konfiguriertes ['resolve'] (https://webpack.js.org/configuration/resolve/). –

Antwort

0

Sie müssen die Ausschluss-Stütze in Ihrem Loader setzen.

https://webpack.js.org/configuration/module/#rule-exclude

Und können Sie steuern, wann zu bündeln oder die Module nicht einen NODE_ENV und ein Skript verwenden. Ich benutze dies in der Entwicklungsumgebung, anstatt darauf zu warten, dass Webpack alle Knotenmodule jedes Mal erstellt.

Es ist eine einfache Inline, wenn Sie die NODE_ENV überprüfen und Knotenmodule erstellen oder die Ausschlussbedingung im Loader nicht verwenden.

var FASTBUILD = process.env.NODE_ENV == 'fastbuild'; 
//This example is for loading all js 
module: { 
    rules: [ 
     FASTBUILD ? {test: /\.js?$/, loader: "your-loader-here", exclude: path.resolve(__dirname, "./node_modules")} : {test: /\.js?$/, loader: your-loader-here"} 
    ] 
} 

Und Sie können dies in Ihrem package.json haben, so dass Sie nur npm run dev verwenden:

"scripts": { 
//this if for build WITHOUT node_modules 
    "dev": "set NODE_ENV=fastbuild&&webpack --watch" 
    } 

PS: Dies ist für Windows konfiguriert und mit Webpack 2.2

Verwandte Themen