2016-09-03 1 views
0

Angenommen habe ich ein Projekt, die Struktur wie diese Kann Webpack den Pfad des untergeordneten Moduls beim Export beibehalten?

projectFolder 
--index.html 
--img 
--js 
--childMod 
    --modA 
     --index.html 
     --img 
     --js 

In normaler Konfiguration für webpack mehr pages.all Bilder

ist enthalten Bilder in den Kindern Modul Platz in die gleichen Ordner sein werden, wie dies

buildFolder 
--index.html 
--modA.html 
--allImgs 
--bundle.js 
--modA.bundle.js 

ich möchte webpack die Projektstruktur halten, wie diese

buildFolder 
--index.html 
--imgs 
--bundle.js 
--childMod 
    --childModImgs 
    --modA.html 
    --modA.bundle.js 

Mein Ziel ist es, webpack den Weg der Ressource erkennen kann, wenn es ist in childMod, dann werden sie ausgegeben und in childMods Ordner abgelegt, nicht alle zusammen in einem Ordner. Wie man es macht?

Antwort

0

Von this Github comment, ja, man kann es für die Datei loader tun:

file?name=[path][name].[ext]&context=/the/root/path 

Diese kopiert die Datei /the/root/path/dir/file.png-/output-directory/dir/file.png.

In einer Webpack Config es aussehen könnte:

{ test: \.png$/, loader: "file?name=[path][name].[ext]&context=/the/root/path" }, 

Für Assets wie CSS und Javascript, die durch andere Loader geleitet werden, die die Daten bündeln und minimieren, gibt es keine Möglichkeit, dies zu tun seine. Es würde keinen Sinn ergeben, da die Javascript-Dateien aus verschiedenen Ordnern im Projekt stammen können.

+0

danke, aber der Loader-Test kann den Pfad nicht filtern, nur der Dateiname. also, wie mache ich es wissen, welches Asset unter Pfad angeben, und Ausgabe auf den gleichen Pfad gehen? –

Verwandte Themen