プロジェクトでcss-loader
のモジュールオプションを有効にして、bootstrapとCSSモジュールの両方を使用していますが、残念ながらcss-loader
はbootstrap =ファイルも。
すべてのbootstrap sassファイルをインポートするapp.scss
があります。app.scss
ファイルをapp.js
ファイルにインポートします。
import "./app.scss";
{ test: /\.scss$/,
use: [
{loader: "style-loader"},
{
loader: "css-loader",
options: {
sourceMap: true,
modules: true,
localIdentName: "[path][name]__[local]--[hash:base64:5]"
}
},
{loader: "sass-loader"}
]
たとえば、ブートストラップの.table
クラスは.app__table--19A_z
のようなものに変わります
bootstrapファイルのCSSモジュールを無効にするにはどうすればよいと思いますか?.
bootstrap scssファイルを単一のエントリポイントでアプリのscssファイルにインポートしているため、これはexclude
だけでは実現できません。
また、:globalセレクタースコープを使用して完全に実行することもできませんが、特にpostcssを使用していない場合は、これで確実に作業を行うことができます。
このトピックに関する進行中のディスカッションを表示するには、このgithubの問題を表示してください: https://github.com/css-modules/css-modules/pull/65
module rule.exclude で実現できます
条件が一致してはなりません。慣例では、ここで文字列または文字列の配列を提供しますが、強制されません。
したがって、boostrapscssファイルを除外するには次のようにする必要があります。
{
test: /\.scss$/,
use: ...
exclude: [
path.resolve(__dirname, "node_modules/bootstrap"),
]
}