2017-11-29 8 views
0

:WebPACKのを実行した後Webpack:複数のベンダのcssを1つのファイルにバンドルするか?私はこれが私のwebpack.config.jsあるのWebPACK 3.8</p> <p>で2つのファイルbundle.jsとbundle.cssにいくつかの標準ライブラリをバンドルしたい

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

module.exports = { 
    entry: { 
    'vendor': [ 
     'jquery', 
     'popper.js', 
     'bootstrap', 
    ], 

    }, 

    output: { 
    path: path.resolve(__dirname, 'public/js'), 
    filename: 'bundle.js' 
    }, 

    module: { 
       rules:[ 
        { 
        test: /\.css$/, 
        use: ExtractTextPlugin.extract({ 
         fallback: "style-loader", 
         use: "css-loader" 
        }) 
        } 
       ], 


    }, 

    plugins: [ 

    new webpack.optimize.UglifyJsPlugin({ 
     uglifyOptions: { 
     compress: true 
     } 
    }), 

    new ExtractTextPlugin("styles.css"), 

    ] 
}; 

、私は唯一のバンドルを取得します.jsファイル:

Asset Size Chunks     Chunk Names 
bundle.js 264 kB  0 [emitted] [big] vendor 

bundle.cssを生成するにはどのようにwebpackを設定する必要がありますか?

+0

ベンダファイルを共有できますか。あなたのベンダーに含まれているファイル。私は上記の中に.cssファイルをインポートしていないと思います。 –

+0

@Pravesh Khatriおそらく:)私の場合は例を見つけることができなかったので、単純に/ home/user_folder/projects/project_folder/node_modules/bootstrapのような標準フォルダにすべてのパッケージをインストールします。各ベンダーパッケージのcssファイルを別々にインポートする必要がありますか?上記の項目に記載されているファイルに.cssファイルをインポートした場合は – sr9yar

+0

となります。次に、あなたが提供したローダーの助けを借りて自動的にバンドルを作成します。それ以外の場合は、エントリーポイントに指定することをお勧めします。 –

答えて

1

これには2通りの方法があります。

まず

あなたは、エントリポイントで提供されるファイルで、あなたの.cssファイルをインポートすることができます。

たとえば、

index.jsentry: index.js

場合は、あなたのエントリポイントに

あなたがそれを提供することができます

import './*.css'  // all css files in root 

第二に、あなたのcssファイルをインポートする必要があります。

entry: { 
    { 
    'vendor': [ 
     'jquery', 
     'popper.js', 
     'bootstrap', 
    ], 
    'styles': '/*.css'  
    } 
} 
関連する問題