2015-09-08 13 views
8

Czy narzędzie Webpack to narzędzie, które muszę przekazać kilka mniej plików do jednego pliku CSS?
jeśli tak, nie jestem pewien, co robię źle w poniższym kodzie?
Czy istnieje sposób wyprowadzania do różnych ścieżek pliku, teraz moje pliki wyjściowe js do './assets/javascripts/bundle/', chciałbym, aby mój plik css wyprowadził na numer './assets/stylesheets/bundle/', jak to zrobić?tworzenie kompilacji mniej plików wyjściowych jeden plik CSS minify

Aktualizacja
Zrobiłem test i mogę budować moich mniej plików do jednego pliku css, ale nadal nie można dowiedzieć się, jak ustawić wiele ścieżek do folderu wyjściowego, teraz muszę wypowiedzieć się wpis js części i zmienić ścieżkę wyjściową ...

WebPack config

var path = require('path'); 
var webpack = require("webpack"); 
var ExtractTextPlugin = require("extract-text-webpack-plugin"); 

module.exports = { 
    entry: { 
    'MediaIndex':['./assets/javascripts/Media/Index/Base.js'], 
    // stylesheets 
    'MediaIndexStyleSheet':['./assets/stylesheets/Media/Index/Base.js'] 
    }, 
    output: { 
    path: './assets/javascripts/bundle/', 
    filename: '[name].js' 
    }, 
    resolve: { 
    alias: { 
     jquery: path.join(__dirname, "assets/javascripts/lib/jquery-1.11.1.min.js"), 
     "jquery-ui": path.join(__dirname, "assets/javascripts/lib/jquery-ui.min.js"), 
    } 
    }, 
    plugins: [ 
    new webpack.ProvidePlugin({ 
     jQuery: "jquery", 
     $: "jquery" 
    }), 
    new ExtractTextPlugin("[name].css") 
    ], 
    module: { 
    loaders: [ 
     { 
     test: /\.css$/, 
     loader: ExtractTextPlugin.extract("style-loader", "css-loader") 
     }, 
     { 
     test: /\.less$/, 
     loader: ExtractTextPlugin.extract("style-loader", "css-loader!less-loader") 
     } 
    ] 
    }, 
}; 

aktywa/stylów/media/Index/Base.js

require('../../../Global/Config.less'); 
require('../../../Global/Fp.less'); 
require('../../../Global/Urb.less'); 
require('../../../Global/Ad1.less'); 
require('./Nav0.less'); 
require('./Index.less'); 
require('./Content.less'); 

Config.less

@color: 'red'; 

Index.less

body { 
    background-color: @{color}; 
} 

Odpowiedz

5

jesteś prawie tam. Tak jak już zrobiłeś, możesz uzyskać wszystkie stylizacje w jednym pliku css przy użyciu ExtractTextPlugin. Aby umieścić js i css w różnych katalogach, możesz po prostu zdefiniować ścieżkę w ExtractTextPlugin lub output.filename, która jest względna względem twojej output.path. Na przykład:

output: { 
    path: './assets', 
    filename: './javascripts/bundle/[name].js' 
}, 
plugins: [ 
    new ExtractTextPlugin("./stylesheets/bundle/[name].css") 
] 
+0

Dzięki za odpowiedź, ta praca !! Zastanawiam się, czy możliwe jest ustawienie nazwy pliku css tak samo jak nazwa pliku javascript, teraz muszę dodać StyleSheet po nazwie pliku na wejściu – user1775888

Powiązane problemy