godyesnow
@godyesnow

Ошибка сборки в webpack. В чем проблема?

Добрый день, столкнулся с такой проблемой: webpack ругается. Я как бы вижу что он ругается на знак равно, но в чем конкретно проблема не понимаю, может что то не подключил из того что нужно!? Заранее спасибо!

Ошибка:
ERROR in ./js/scrolbar.js
Module build failed (from ./node_modules/babel-loader/lib/index.js):
SyntaxError: D:/Programs/OSPanel/domains/rooms.aleskeroff.loc/src/js/scrolbar.js: Unexpected token (37:20)

  35 | 
  36 | class InvertDeltaPlugin extends ScrollbarPlugin {
> 37 |   static pluginName = 'invertDelta';
     |                     ^
  38 | 
  39 |   static defaultOptions = {
  40 |     events: [],


Код JS:
import Scrollbar, { ScrollbarPlugin } from 'smooth-scrollbar';

class InvertDeltaPlugin extends ScrollbarPlugin {
  static pluginName = 'invertDelta';

  static defaultOptions = {
    events: [],
  };

  transformDelta(delta, fromEvent) {
    if (this.shouldInvertDelta(fromEvent)) {
      return {
        x: delta.y,
        y: delta.x,
      };
    }

    return delta;
  }

  shouldInvertDelta(fromEvent) {
    return this.options.events.some(rule => fromEvent.type.match(rule));
  }
}

Scrollbar.use(InvertDeltaPlugin);

const scrollbar = Scrollbar.init(elem, {
  plugins: {
    invertDelta: {
      events: [/wheel/],
    },
  },
});


webpack.config.js:
const webpack = require('webpack');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const BrowserSyncPlugin = require('browser-sync-webpack-plugin');

module.exports = (env, argv) => {
  const PROD = (argv.mode === 'production');

  return {
    entry: './js/app.js',
    output: {
      path: __dirname + '/../assets',
      filename: PROD ? 'js/app.min.js': 'js/app.js'
    },
    module: {
      rules: [
        {
          test: /\.js$/,
          exclude: /node_modules/,
          use: {
            loader: 'babel-loader',
            options: {
              presets: ['env']
            }
          }
        },
        {
          test: /\.scss$/,
          use: ExtractTextPlugin.extract({
            fallback: 'style-loader',
            use: ['css-loader?url=false', 'sass-loader']
          })
        },
        {
          test: /\.(woff|woff2|eot|ttf|otf)$/,
          use: [
            'file-loader'
          ]
        }
      ]
    },
    plugins: [
      new ExtractTextPlugin(PROD ? 'css/style.min.css' : 'css/style.css'),
      new BrowserSyncPlugin({
        host: 'rooms.aleskeroff.loc',
        proxy: 'rooms.aleskeroff.loc',
        port: 8080,
        files: [
          __dirname
        ]
      })
    ]
  };
};
  • Вопрос задан
  • 324 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы