Ошибка компиляции Webpack с помощью mobx

Я использую webpack в качестве сборщика модулей и babel для транспиляции. Моя текущая версия npm - 3.10.9, а версия узла - v6.9.2.

Package.json

"devDependencies": { "axios": "^0.17.0", "babel-eslint": "^8.0.1", "babel-polyfill": "^6.26.0", "babel-preset-env": "^1.6.1", "babel-preset-es2015-rollup": "^3.0.0", "babel-preset-mobx": "^1.0.2", "babel-preset-react": "^6.11.1", "babel-register": "^6.26.0", "babel-core": "^6.9.1", "babel-loader": "^7.1.2", "babel-plugin-transform-decorators-legacy": "^1.3.4", "babel-preset-es2015": "^6.9.0", "babel-preset-stage-1": "^6.5.0", "clean-webpack-plugin": "^0.1.17", "compression": "^1.6.1", "cors": "^2.8.4", "cross-env": "^5.0.5", "css-loader": "^0.23.1", "csslint": "^1.0.5", "csslint-loader": "^1.0.0", "eslint": "^4.10.0", "eslint-loader": "^1.9.0", "eslint-plugin-react": "^7.4.0", "express": "^4.9.8", "express-https-redirect": "^1.0.0", "express-manifest": "^0.1.1", "extract-text-webpack-plugin": "^3.0.1", "file-loader": "^1.1.5", "html-loader": "^0.5.5", "html-webpack-plugin": "^2.30.1", "http2": "^3.3.7", "https": "^1.0.0", "image-webpack-loader": "^3.4.2", "jasmine-core": "^2.8.0", "json-loader": "^0.5.4", "karma": "^1.7.1", "karma-chrome-launcher": "^2.2.0", "karma-jasmine": "^1.1.1", "karma-webpack": "^2.0.9", "less": "^3.0.0-alpha.3", "less-loader": "^4.0.5", "moment": "^2.19.2", "node-sass": "^4.5.3", "postcss": "^6.0.13", "postcss-css-variables": "^0.8.0", "postcss-cssnext": "^3.0.2", "postcss-import": "^11.0.0", "postcss-loader": "^2.0.6", "postcss-mixins": "^6.1.1", "postcss-nested": "^2.1.2", "postcss-start-to-end": "^1.0.1", "prop-types": "^15.6.0", "react": "^16.2.0", "react-doc-generator": "^1.2.5", "react-docgen-plugin": "^0.1.1", "react-dom": "^16.2.0", "react-lazy-load": "^3.0.13", "react-redux": "^5.0.6", "react-responsive-carousel": "^3.1.28", "redux": "^3.7.2", "rollup-plugin-babel": "^3.0.3", "rollup-plugin-commonjs": "^9.0.0", "rollup-plugin-node-resolve": "^3.0.3", "rollup-plugin-postcss": "^1.3.3", "rollup-plugin-replace": "^2.0.0", "sass-loader": "^4.1.1", "style-loader": "^0.19.0", "stylelint": "^8.2.0", "sw-precache-webpack-plugin": "^0.11.4", "url-loader": "^0.6.2", "webfonts-loader": "^4.0.0", "webpack": "^3.6.0", "webpack-dev-server": "^2.9.1", "webpack-merge": "^4.1.1", "webpack-node-externals": "^1.6.0", "workbox-webpack-plugin": "^2.1.2", "wrapper-webpack-plugin": "^1.0.0" }, "dependencies": { "expres": "0.0.5", "express": "^4.14.0", "express-minify-html": "^0.11.5", "html-minifier": "^3.5.6", "jade": "^1.11.0", "mobx": "^3.0.0", "mobx-react": "^4.1.0", "pa11y-ci": "^1.3.1", "redux-promise": "^0.5.3", "stylelint-webpack-plugin": "^0.10.2" }, "babel": { "plugins": [ "transform-es2015-modules-commonjs" ] },

когда я компилирую, у меня возникает проблема ниже.

Использование экспорта по умолчанию (import mobx from 'mobx') устарело и не будет работать в [email protected] Вместо этого используйте import * as mobx from 'mobx' D: \ mgm \ dmp \ fe-react \ node_modules \ babel-core \ lib \ transformation \ file \ logger.js: 41 бросить новый конструктор (this._buildMessage (msg)); ^

ReferenceError: [BABEL] D: \ mgm \ dmp \ fe-react \ webpack.config.babel.js: Неизвестный параметр: base.Reaction. Ознакомьтесь с http://babeljs.io/docs/usage/options/ для получения дополнительной информации о параметрах.

Распространенной причиной этой ошибки является наличие объекта параметров конфигурации без соответствующего имени предустановки. Пример:

Инвалид: { presets: [{option: value}] } Действительный: { presets: [['presetName', {option: value}]] }

Для получения более подробной информации о предустановленной конфигурации см. http://babeljs.io/docs/plugins/#pluginpresets-options. в Logger.error (D: \ mgm \ dmp \ fe-react \ node_modules \ babel-core \ lib \ transformation \ file \ logger.js: 41: 11) в OptionManager.mergeOptions (D: \ mgm \ dmp \ fe-react \ node_modules \ babel-core \ lib \ transformation \ file \ options \ option-manager.js: 226: 20) в OptionManager.init (D: \ mgm \ dmp \ fe-react \ node_modules \ babel-core \ lib \ transformation \ file \ options \ option-manager.js: 368: 12) в File.initOptions (D: \ mgm \ dmp \ fe-react \ node_modules \ babel-core \ lib \ transformation \ file \ index.js: 212: 65) в новом файле (D: \ mgm \ dmp \ fe-react \ node_modules \ babel-core \ lib \ transformation \ file \ index.js: 135: 24) в Pipeline.transform (D: \ mgm \ dmp \ fe-react \ node_modules \ babel-core \ lib \ transformation \ pipeline.js: 46: 16) в Object.transformFileSync (D: \ mgm \ dmp \ fe-react \ node_modules \ babel-core \ lib \ api \ node.js: 152: 10) при компиляции (D: \ mgm \ dmp \ fe-react \ node_modules \ babel-register \ lib \ node.js: 118: 20) в загрузчике (D: \ mgm \ dmp \ fe-react \ node_modules \ babel-register \ lib \ node.js: 144: 14) в Object.require.extensions. (анонимная функция) [as .js] (D: \ mgm \ dmp \ fe-react \ node_modules \ babel-register \ lib \ node.js: 154: 7)

Пожалуйста помоги.

итак ... вы следовали четким инструкциям в сообщении об ошибке?

Jaromanda X 15.03.2018 06:42

@JaromandaX да, но без помощи.

Amit 15.03.2018 06:44

Итак, что вы изменили в D:\mgm\dmp\fe-react\webpack.config.babel.js

Jaromanda X 15.03.2018 06:44

примечание: первая «ошибка» - это просто предупреждение (пока) - проблема в Unknown option: base.Reaction

Jaromanda X 15.03.2018 06:46

конфигурация webpack. {test: /.js?$/,exclude: / node_modules /, используйте: [{loader: "babel-loader", options: {presets: [['env', {modules: false, target: {browsers: [ 'последние 2 версии', 'safari> = 7', 'ie> = 10']}}], 'stage-0', 'react'], комментарии: true}}]},

Amit 15.03.2018 06:47

это то, из чего вы изменились, или во что вы изменились?

Jaromanda X 15.03.2018 06:58

Нет, это то же самое. только что установил зависимости mobx и mob-react.

Amit 15.03.2018 07:06

Итак, после того, как вы получили ошибку, с объяснением того, что вам нужно изменить, вы ничего не изменили ... в ошибке есть подробности, с которыми можете справиться только вы, так как вы не показали файл, в котором есть проблема в вопросе

Jaromanda X 15.03.2018 08:42
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
8
510
1

Ответы 1

Перво-наперво удалите пресеты mobx с вашего .babelrc.

{
  "presets": ["mobx"]
}

затем npm i --save-dev babel-plugin-transform-decorators-legacy и добавьте ниже конфигурацию .babelrc.

{
  "presets": ["react", "env", "stage-2"],
  "plugins": [
    "transform-decorators-legacy", // must on the top of plugins array.
    ... ...
  ]
}

наконец, вы должны удалить babel-preset-mobx, который 0 запускается на GitHub, я думаю, это нестабильно.

Другие вопросы по теме