Реакция на ошибку сборки: сборка модуля не удалась (из ./node_modules/babel-loader/lib/index.js): - PullRequest
0 голосов
/ 10 марта 2019

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

Module build failed (from ./node_modules/babel-loader/lib/index.js)
  5 | ReactDOM.render(
> 6 |     <App />,
    |     ^
  7 |     document.getElementById('root')
  8 | );

Я обнаружил похожие проблемы и попытался решить проблему, основываясь на этом, но безрезультатно.Это мой webpack.config.js:

module.exports = {
    entry: './index.js',
    output:{
        path: __dirname,
        filename: 'bundle.js'
    },
    module:{
        rules:[
            {
                test: /\.jsx?$/,
                loader: 'babel-loader',
                exclude: '/node_modules/'
            }
        ]
    }
}

Ниже у меня есть package.json, "devDependencies" - это то, что я нашел в предыдущих решениях.

{
  "name": "rtsupport",
  "version": "1.0.0",
  "description": "Realtime support frontend",
  "main": "./index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "develop": "webpack --mode development --watch",
    "build": "webpack --mode development"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "node": "^10.15.2",
    "react-dom": "^16.8.4"
  },
  "devDependencies": {
    "@babel/core": "^7.0.0-bridge.0",
    "babel": "^5.8.23",
    "babel-core": "^6.26.3",
    "babel-loader": "^7.1.5",
    "react": "^16.8.4",
    "webpack": "^4.29.6",
    "webpack-cli": "^3.2.3"
  }
}

Это моиисходный "devDependencies"

 "devDependencies": {
    "@babel/core": "^7.3.4",
    "babel": "^5.8.23",
    "babel-core": "^6.26.3",
    "babel-loader": "^8.0.5"
  }

Версия моего узла: v11.10.1

После попытки предложить варианты с:

rules:[
            {
                test: /\.(js|jsx)$/,
                exclude: '/node_modules/',
                use: [
                    { loader: 'babel-loader' }
                  ]
            }
        ]

Я все еще получаю ту же ошибку.

Ответы [ 3 ]

0 голосов
/ 11 марта 2019

с этим конфигом вы говорите только "переводить" файлы .jsx, и так как ваш основной файл - index.js, он не загружает его, попробуйте добавить этот конфиг:

, с этим вы добавляете jsи jsx-файл должен быть разрешен вашим загрузчиком

rules: [
  {
    exclude: /node_modules/,
    test: /\.js|.jsx?$/,
    use: [
      { loader: 'babel-loader' }
    ]
  }
]

моя ошибка, я думал, что у вас есть babelrc, я забыл, что вы можете создать файл на том же уровне папок, что и ваш wepback.config с именем ".babelrc" издесь вы можете указать свой загрузочный конфиг и указать babel загрузить плагин «реагировать»

{
"presets": [
  "stage-0",
  "react",
  "es2015"
],
 "plugins": [
  "transform-class-properties",
  "transform-decorators-legacy",
  "transform-object-rest-spread",
  "transform-es2015-destructuring"
 ],
 "env": {
   "debug": true
 }
}
0 голосов
/ 11 марта 2019

После целого дня взлома и серфинга на этом сайте я нашел решение.

module:{
        rules:[
            {
                test: /\.jsx?$/,
                exclude: '/node_modules/',
                loader: 'babel-loader',
                query:
                {
                    presets:['react']
                }  
            }
        ]
    }

И пакет.json частично:

  "devDependencies": {
    "@babel/core": "^7.3.4",
    "babel": "^5.8.23",
    "babel-cli": "^6.26.0",
    "babel-core": "^6.26.3",
    "babel-loader": "^7.1.5",
    "babel-preset-react": "^6.24.1",
    "babel-preset-react-app": "^7.0.2",
    "react": "^16.8.4",
    "webpack": "^4.29.6",
    "webpack-cli": "^3.2.3"
  }
0 голосов
/ 11 марта 2019

хорошо, я думаю, что ваш тест веб-пакета должен включать файлы .js, если вы планируете использовать в них JSX:

test: /\.(js|jsx)$/
...