Ответ 1
Здесь аналогичная проблема была решена
Я запускаю приложение реагирования, и вот моя конфигурация Webpack:
'use strict'
const ExtractPlugin = require('extract-text-webpack-plugin')
const HTMLPlugin = require('html-webpack-plugin')
module.exports = {
devtool: 'eval',
entry: '${__dirname}/src/main.js',
output: {
filename: 'bundle-[hash].js',
path: '${__dirname}/build',
publicPath: '/',
},
mode: 'development',
performance: {
hints: false
},
plugins: [
new HTMLPlugin(),
new ExtractPlugin('bundle-[hash].css'),
],
module: {
rules: [
{
test: /\.js$/,
exclude: /node_module/,
loader: 'babel-loader',
},
{
test: /\.scss$/,
loader: ExtractPlugin.extract(['css-loader', 'sass-loader']),
},
],
},
}
Затем у меня есть файл package.json, здесь есть зависимости:
"devDependencies": {
"@babel/core": "^7.1.6",
"@babel/plugin-proposal-object-rest-spread": "^7.0.0",
"@babel/preset-env": "^7.1.6",
"@babel/preset-react": "^7.0.0",
"and": "0.0.3",
"babel-cli": "^6.26.0",
"babel-core": "^7.0.0-bridge.0",
"babel-loader": "^8.0.4",
"eslint": "^5.9.0",
"install": "^0.12.2",
"jest": "^23.6.0",
"npm": "^6.4.1",
"webpack-cli": "^3.1.2"
},
"dependencies": {
"babel-plugin-transform-object-rest-spread": "^6.26.0",
"babel-plugin-transform-runtime": "^6.23.0",
"babel-preset-env": "^1.7.0",
"css-loader": "^1.0.1",
"extract-text-webpack-plugin": "^4.0.0-beta.0",
"html-webpack-plugin": "^3.2.0",
"node-sass": "^4.11.0",
"react": "^16.6.3",
"react-dom": "^16.6.3",
"resolve-url-loader": "^3.0.0",
"sass-loader": "^7.1.0",
"webpack": "^4.25.1",
"webpack-dev-server": "^3.1.10"
}
Я перепробовал множество способов обновления пакетов babel до 7-й версии, изменения конфигурации babelrc, что угодно.
Проект хоть и компилируется, но в начале компиляции я получаю следующее сообщение:
Трассировка: тип узла SpreadProperty был переименован в SpreadElement в Object.isSpreadProperty
И около сотни таких строк. После того, как все эти строки будут распечатаны, процесс компиляции продолжается и завершается успешно.
Что это и как я могу избавиться от этих строк?
Здесь аналогичная проблема была решена
В моем случае я не реализовывал конфигурацию Webpack, и все же была ошибка. После того, как было реализовано так много решений, ошибка была той же самой, или как только ошибка была удалена, появилась другая. Наконец, я удалил .bablerc
, .babelrc
и package-lock.json
и запустил rm -rf node_modules && npm install
а затем запустил rm -rf node_modules && npm install
react-native run-android
и это сработало для меня. :-)
вот последняя настройка, которая решила проблему для меня.
.babelrc
{
"presets": [
"@babel/preset-env",
"@babel/preset-react"
],
"plugins": [
"@babel/plugin-proposal-object-rest-spread"
]
}
Для лучшего понимания, вот мой package.json devDependencies:
"devDependencies": {
"@babel/core": "^7.1.6",
"@babel/plugin-proposal-object-rest-spread": "^7.0.0",
"@babel/plugin-transform-object-assign": "^7.0.0",
"@babel/plugin-transform-react-jsx": "^7.1.6",
"@babel/preset-env": "^7.1.6",
"@babel/preset-react": "^7.0.0",
"babel-loader": "8.0.4",
"prop-types": "15.6.2",
"react": "^16.6.3",
"react-dom": "^16.6.3",
"style-loader": "^0.23.1",
"utils": "^0.3.1",
"webpack": "4.26.1",
"webpack-cli": "3.1.2",
"webpack-dev-server": "^3.1.10"
}
Вот мой раздел модуля webpack.config.js:
module: {
rules: [
{
test: /\.(js|jsx)$/ ,
exclude: /node_modules/,
loaders: "babel-loader"
}
]
}
Раньше в моем .babelrc
я использовал плагин: ["transform-object-rest-spread", { "useBuiltIns": true }],
затем я переключаю его на "@babel/plugin-proposal-object-rest-spread"
и все эти предупреждения ушли, что было очень приятно. '