2017-11-14 10 views
0

いくつかのsassファイルをコンパイルし、それぞれを複数のパスに展開しようとしています。複数のcssファイルを別のディレクトリに展開する

例:私は、この設定を使用することだし、それはすべてのSCSSファイルバンドル瞬間

resources/home/a.scss -> public/home/a.css

resources/home/layout/b.scss -> public/home/layout/b.scss

resources/login/c.scss -> public/login/c.css

const path = require("path") 
const webpack = require("webpack") 
const ExtractTextPlugin = require("extract-text-webpack-plugin") 

module.exports = { 
// Context is an absolute path to the directory where webpack will be 
// looking for our entry points. 
context: path.resolve(process.cwd(), 'resources/assets'), 

entry: 
    [ 
     './sass/app/home/a.scss', 
     './sass/app/home/layout/b.scss', 
     './sass/app/login/c.scss', 
    ], 
output: { 
    path: __dirname, 
    filename: '[name].js' 
}, 
module: { 
    rules: [ 
     { 
      test: /\.(scss)$/, 
      loader: ExtractTextPlugin.extract(['css-loader', 'sass-loader']) 
     } 

    ] 
}, 
plugins: [ 
    new ExtractTextPlugin({ filename: '[name].css', allChunks: true }) 
    ] 
} 

答えて

1

私が思うに問題はよuはArrayentryとして使用しています。つまり、すべての依存関係(この場合は異なるcssファイルが同じ出力ファイルに追加されます)を意味します。あなたがより多くのここhttps://webpack.js.org/concepts/entry-points/#object-syntax

を読むことができます

entry: { 
a: './sass/app/home/a.scss', 
b: './sass/app/home/layout/b.scss', 
c: './sass/app/login/c.scss' 
} 

あなたはそれを変更する必要があります

関連する問題