Ошибка сборки функционального модуля Webpack Babel Arrow - PullRequest
0 голосов
/ 31 января 2019

Я пытаюсь запустить несколько функций стрелок в моем коде реагирования, но, несмотря на добавление загрузчиков babel для построения кода в читаемом формате, я получаю сообщение об ошибке в части = моих функций стрелок.

export default class CommentForm extends React.Component {
    constructor(props){
        super(props);
        ...
        this.state = {
            value: '',
            flash: '',
            suggestions: [],
        };

        this.onChange = this.onChange.bind(this);
        this.focus = this.focus.bind(this);
    }
    ...
    onChange = (editorState) => {
        this.setState({
            suggestions: ['test']
        });
    }
    ...
}

Ошибка:

ERROR in ./public/components/app/activity-feed/feed/VerticalTimeline/CommentComponents/CommentForm.js
Module build failed (from ./node_modules/babel-loader/lib/index.js):
SyntaxError: Unexpected token (150:13)

webpack.config.js:

module.exports = {
    mode: 'development',
    entry: "./public/index.js",
    output: {
        path: __dirname + "/dist",
        filename: "bundle.js"
    },
    module: {
        rules: [
            {   
                test: /\.js$/, 
                exclude: /node_modules/, 
                loader: "babel-loader"
            },
            {
                test: /\.css$/,
                use: ['style-loader', 'css-loader'],
            }
        ]
    },
};

package.json:

  "devDependencies": {
    "babel-core": "^6.26.3",
    "babel-loader": "^7.1.2",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-react": "^6.24.1",
    ....
  }

1 Ответ

0 голосов
/ 31 января 2019

Вы пытаетесь определить свойства класса, используя знак равенства.Это все еще предложение, поэтому оно не будет работать из коробки, используя babel.Вам нужен плагин.

npm install --save-dev @babel/plugin-proposal-class-properties

//.babelrc
{
  "plugins": ["@babel/plugin-proposal-class-properties"]
}

Отличная особенность этого предложения в том, что оно создает ограниченные функции.Так что больше нет необходимости использовать .bind в конструкторе!Подробнее об этом можно прочитать здесь .

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