2016-04-22 11 views
2

私はブートストラップCSSをロードして、アプリケーション内で使用するためにウェブパックを利用できるようにしようとしています。しかし、コンポーネント固有のCSSのlocalIndentNameを持つCSSローダーもあり、他のコンポーネント内での名前の競合を避けることができます。このため、ブートストラップのクラス名は、node_modules__blah__blahなどに変更されています。Webpack複数のCSSローダー

これを避ける最も簡単な方法は何でしょうか? CDNがヘッダーに追加されるのは速いですが、ブラウザーはCDNがタイムアウトするように見えますが、CDNがスロットリングされているかどうかは分かりません。(これを修正する方法があれば、最高の解決策、私の意見では)。

構成:

{ 
    test: /(\.css|\.scss)$/, 
    loaders: [ 
    'style?sourceMap', 
    'css?modules&importLoaders=1&localIdentName=[path]___[name]__[local]___[hash:base64:5]', 
    'resolve-url', 
    'sass?sourceMap', 
    ], 
} 

ありがとう!指導へ

おかげで、ここで私がなってしまったコンフィギュレーションです:

{ 
    test: /(\.css|\.scss)$/, 
    loaders: [ 
     'style?sourceMap', 
     'css?modules&importLoaders=1&localIdentName=[path]___[name]__[local]___[hash:base64:5]', 
     'resolve-url', 
     'sass?sourceMap', 
    ], 
    exclude: [ 
     path.resolve('node_modules', 'bootstrap-sass') 
    ] 
    }, 
    { 
    test: /\.scss$/, 
    loaders: ['style', 'css', 'sass'], 
    include: [ 
     path.resolve('node_modules', 'bootstrap-sass') 
    ] 
    } 
+1

正しい 'localIdentName'でブートストラップのCSSファイルの2番目のローダーを追加できます。 Fitstローダーは[exclude](https://webpack.github.io/docs/configuration.html#module-loaders)( 'exclude: 'bootstrap'')パラメーターを追加することでブートストラップを無視し、2番目のパラメーターは_include_ ( 'include: 'ブートストラップ')。 –

+0

入力いただきありがとうございます!試してみましょう! – dardo

答えて

2

最善のアプローチは、ブートストラップの少ないまたはサスソースを使用することです。あるいは、{include, exclude}オプションを使用して、レジストリからインストールされたスタイルに対して個別のローダ構成を提供することもできます。

+0

優れている、私は私の机に戻っているときにこれらのアプローチを試してみよう! – dardo

関連する問題