У меня была такая же проблема, я решил ее, разделив правила загрузчика css веб-пакета на 2:
- Будет включать все, кроме node_modules, использует модули css. Это касается внутренних модулей css.
- Будет включать только node_modules, исключая /src. Это касается semantic-ui и любой другой сторонней библиотеки.
Результирующие правила для webpack.config.dev.js
, сгенерированные сценарием извлечения CRA, будут выглядеть следующим образом:
// Internal CSS
// "postcss" loader applies autoprefixer to our CSS.
// "css" loader resolves paths in CSS and adds assets as dependencies.
// "style" loader turns CSS into JS modules that inject <style> tags.
// In production, we use a plugin to extract that CSS to a file, but
// in development "style" loader enables hot editing of CSS.
{
test: /\.css$/,
exclude: /node_modules/,
use: [
require.resolve('style-loader'),
{
loader: require.resolve('css-loader'),
options: {
importLoaders: 1,
modules: true,
localIdentName: '[name]__[local]___[hash:base64:5]'
},
},
{
loader: require.resolve('postcss-loader'),
options: {
// Necessary for external CSS imports to work
// https://github.com/facebookincubator/create-react-app/issues/2677
ident: 'postcss',
plugins: () => [
require('postcss-flexbugs-fixes'),
autoprefixer({
browsers: [
'>1%',
'last 4 versions',
'Firefox ESR',
'not ie < 9', // React doesn't support IE8 anyway
],
flexbox: 'no-2009',
}),
],
},
},
],
},
// External CSS
{
test: /\.css$/,
include: /node_modules/,
exclude: /src/,
use: [
require.resolve('style-loader'),
{
loader: require.resolve('css-loader'),
options: {
importLoaders: 1,
},
},
{
loader: require.resolve('postcss-loader'),
options: {
// Necessary for external CSS imports to work
// https://github.com/facebookincubator/create-react-app/issues/2677
ident: 'postcss',
plugins: () => [
require('postcss-flexbugs-fixes'),
autoprefixer({
browsers: [
'>1%',
'last 4 versions',
'Firefox ESR',
'not ie < 9', // React doesn't support IE8 anyway
],
flexbox: 'no-2009',
}),
],
},
},
],
},
Я не думаю, что этот ответ является оптимальным, но, безусловно, сработал для меня. Удачи
person
Ricardo Leon
schedule
16.05.2018
create-react-app
. Я знаком с модулями CSS и использовал их раньше, но не вместе с Semantic UI. - person Eyal C   schedule 06.03.2018:global{@import 'semantic.css'}
, github.com/css-modules/css-modules#usage-with-preprocessors - person felixmosh   schedule 06.03.2018