1

я следующие настройки папки:Похоже WebPack игнорирует «включают» и «исключить» правила

app/ 
    scss/ 
    lib/ 
     grid.css 
    main.scss 
webpack/ 
    webpack.config.js 

в моих webpack.config.js я следующим погрузчикам для обработки SCSS и CSS:

{ 
    test: /\.(css|scss)$/, 
    exclude: path.join(__dirname, '..', 'app/scss/lib/'), 
    loader: ExtractTextPlugin.extract(
     'style-loader', 'css-loader?module!resolve-url!postcss-loader!sass-loader?sourceMap' 
    ) 
    }, 
    { 
    test: /\.(css|scss)$/, 
    include: path.join(__dirname, '..', 'app/scss/lib/'), 
    loader: ExtractTextPlugin.extract('style-loader', 'css-loader') 
    } 

идея заключается в том, что CSS-погрузчик использует модули по существу переписывания имя класса как .red к чему-то случайным, как .JHSKJasdasa однако, я хочу, чтобы исключить /Lib ап папку d оставить классы, которые в нем такие же, как и они (ваниль), однако все же классы внутри grid.css как .container стать рандомизированным.

+0

Вы «исключаете» и снова 'включаете' папку '/ lib'. Конфигурация выше явно неверна. Вы ничего не должны исключать. Включите только те материалы, которые вы хотите «webpacked». – Venky

+0

@ Venky Я включаю его снова, но с разными загрузчиками. Как бы вы рекомендовали реструктуризацию? – Ilja

+0

Я бы использовал что-то вроде 'dist/assets/......' для хранения файлов, которые должны быть' webpacked' и 'distributed. Все другие не распространяемые файлы в другой папке 'src/assets .....' – Venky

ответ

1

Вероятно, ответ на вопрос, что webpack запутывается path.join - documentation указывает path.resolve. Я думаю, что это может сделать прямое сравнение строк, поэтому относительный .. разбивает его, поэтому исключение/включение работает некорректно. path.resolve должен разрешить абсолютный путь.

Если это не сработает, попробуйте добавить папку app/scss/src (или аналогичную), чтобы выделить код, который вы хотите использовать css-loader. Затем include, а не exclude ing lib.

Смежные вопросы