Ошибка разбора модуля: неожиданный символ '@' (1: 0) - PullRequest
1 голос
/ 25 февраля 2020

Я действительно новичок в Webpack и React. Я хочу использовать npm (карусельная мультиреакция), но не могу. Что-то не так с моим webpack.config. К сожалению, я не могу решить это самостоятельно, и я видел некоторые похожие темы, но это не работает для меня ... или я просто не знаю, как реализовать решения в моем файле.

ОШИБКА в ./node_modules/react-multi-carousel/lib/styles.css 1: 0 Ошибка синтаксического анализа модуля: неожиданный символ '@' (1: 0) Вам может потребоваться соответствующий загрузчик для обработки этого типа файла, в настоящее время нет загрузчики настроены на обработку этого файла. См https://webpack.js.org/concepts#loaders

const path = require("path");

const Html = require('html-webpack-plugin');

module.exports = {
  entry: [
    "whatwg-fetch",
    "./js/index.js",
  ],
  output: { 
    filename: "js/out.js",
    path: path.resolve(__dirname, "build")
  },
  devServer: {
    port: 3001,
  },
  module: {
    rules: [

      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: "babel-loader",
        }
      },

      {
        test: /\.scss$/,
        use: [
          'style-loader',
          'css-loader',
          {
            loader: "postcss-loader",
            options: {
              plugins: () => [
                require("autoprefixer")()
              ],
            },
          },
          'sass-loader',
        ]
      },

      {
        test: /\.(jpg|jpeg|gif|png)$/,
        use: {
          loader: 'file-loader',
          options: {
            name: '[name].[ext]',
            publicPath: 'images',
            outputPath: 'images',
          }
        }
      },

      {
        test: /\.(eot|ttf|woff|woff2)$/,
        use: {
          loader: 'file-loader',
          options: {
            name: '[name].[ext]',
            publicPath: 'fonts',
            outputPath: 'fonts',
          }
        }
      },
    ]
  },

  plugins: [
    new Html({
        filename: 'index.html',
        template: './index.html',
    })
  ]
};

Ответы [ 2 ]

0 голосов
/ 25 февраля 2020

Спасибо! Работает. ;)

   {
        test: /\.(sass|css|scss)$/,
        use: [
          'style-loader',
          'css-loader',
          {
            loader: "postcss-loader",
            options: {
              plugins: () => [
                require("autoprefixer")()
              ],
            },
          },
          'sass-loader',
        ]
      },
0 голосов
/ 25 февраля 2020

Попробуйте добавить ниже json в массив правил.

  {
    test: /\.(sass|less|css)$/,
    loaders: ['style-loader', 'css-loader', 'less-loader']
  }

Также установите необходимые npm модули для вышеуказанных загрузчиков, или вы также можете попробовать добавить test: /\.(sass|css)$/, к вашей текущей настройке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...