Вам может понадобиться соответствующий загрузчик для обработки этого типа файлов: Webpack 2

Я обновился до Webpack 2 и у меня проблемы с загрузчиками. Структура моего проекта выглядит следующим образом:

.
├── components
│   └── App.js
│ 
├── public
│     └──css
│         └──custom.css
└── src
     └──sass
         └──custom.scss

Внутри App.js

import '../src/sass/custom.scss'

Внутри модуля webpack.config.js.exports =

{
  test: /\.scss$/,
  exclude: /node_modules/,
  loaders: ExtractTextPlugin.extract({ fallbackLoader: 'style-loader', loader: 'sass-loader' }),
  include: __dirname + '/src/sass'
}

Внутри плагинов webpack.config.js

//Add Bourbon dependency
  new webpack.LoaderOptionsPlugin({
    options: {
      sassLoader: {
        includePaths: require('bourbon').includePaths,
        outputStyle: 'expanded',
      },
      context: '/src/sass',
    }
  })

Мой производственный скрипт в package.json

"production": "rm -rf public/index.html && NODE_ENV=production webpack -p && NODE_ENV=production node app.js"

Но я получаю эту ошибку:

**Child extract-text-webpack-plugin:
       [0] ./~/sass-loader!./src/sass/custom.scss 283 bytes {0} [built] [failed] [1 error]**

ERROR in ./~/sass-loader!./src/sass/custom.scss
Module parse failed: /Users/user/apps/project/node_modules/sass-loader/index.js!/Users/user/apps/project/src/sass/custom.scss Unexpected token (1:5)
You may need an appropriate loader to handle this file type.
| body {
|   background: white;
| }

Я не знаю, почему он не может найти мои загрузчики. Я переустановил все (css, sass, загрузчики стилей) и даже поместил их в раздел зависимостей для разработки и производства.

Кажется, есть много проблем с webpack 2 и плохой документацией. Есть ли что-то, что мне здесь не хватает?


person HGB    schedule 02.02.2017    source источник
comment
Я не совсем уверен, была ли это просто копия или опечатка, но уверены ли вы, что импортируете правильный материал? В структуре папок вы вызвали scss, но потом импортируете из sass, а не из scss. кр, Георг   -  person Burgi0101    schedule 10.02.2017
comment
Да, извините, это была опечатка. До сих пор нет радости.   -  person HGB    schedule 10.02.2017


Ответы (1)


Я считаю, что если вы используете тест регулярных выражений, вам не нужен !style-loader!sass-loader! при вашем импорте. Это может вызвать проблему, так как анализируется вся строка.

person Przemek Lewandowski    schedule 02.02.2017
comment
Я обновил приведенный выше код, но все еще получаю сообщение об ошибке. Также стоит отметить, что когда я запускаю webpack, таблица стилей custom.css не создается в public/css. Мои настройки в порядке? - person HGB; 03.02.2017