Javascript 使用网页包生成错误

Javascript 使用网页包生成错误,javascript,reactjs,webpack,babeljs,Javascript,Reactjs,Webpack,Babeljs,我在运行webpack时出错,但似乎找不到原因 Entrypoint main = bundle.js [0] ./client/client.js 224 bytes {0} [built] [failed] [1 error] [1] multi ./client/client.js 28 bytes {0} [built] WARNING in configuration The 'mode' option has not been set, webpack will

我在运行webpack时出错,但似乎找不到原因

    Entrypoint main = bundle.js
   [0] ./client/client.js 224 bytes {0} [built] [failed] [1 error]
   [1] multi ./client/client.js 28 bytes {0} [built]

WARNING in configuration
The 'mode' option has not been set, webpack will fallback to 'production' for this value. Set 'mode' option to 'development' or 'production' to enable defaults for each environment.
You can also set it to 'none' to disable any default behavior. Learn more: https://webpack.js.org/concepts/mode/

ERROR in ./client/client.js
Module build failed: TypeError: Cannot read property 'babel' of undefined
    at Object.module.exports (/Users/XXX/Desktop/react-training/react-todo-list/node_modules/babel-loader/lib/index.js:103:36)
 @ multi ./client/client.js
这是我的package.json

{
  "name": "react-todo-list",
  "version": "1.0.0",
  "description": "A simple todo list app built with React, Redux and Webpack",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "serve": "nodemon server/server.js"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/kweiberth/react-todo-list.git"
  },
  "author": "XXXX",
  "license": "ISC",
  "dependencies": {
    "babel-core": "^6.4.5",
    "babel-loader": "^6.2.2",
    "babel-preset-es2015": "^6.3.13",
    "babel-preset-react": "^6.3.13",
    "express": "^4.13.4",
    "react": "^0.14.7",
    "react-dom": "^0.14.7",
    "webpack": "^1.12.13"
  }
}
这是我的webpack.config

module.exports = {
    entry: ['./client/client.js'],
    output: {
        path: __dirname + '/dist',
        filename: 'bundle.js',
        publicPath: '/', 
    },
    module:{
        rules:[
            {
                test: /\.js$/,
                loader: 'babel-loader',
                exclude: /node_modules/,
                query: {
                    presets: ['react', 'es2015']
                }
            }
        ]
    }

}

我尝试过安装不同版本的babel和webpack,但没有成功。我正在关注youtube上的一个老教程,我想知道package.json中提到的旧版本是否导致了它。这是我学习react和使用节点堆栈的最初几天。如果有人能帮我解决这个问题那就太好了

您正在使用一个非常旧版本的webpack(1.12.13)。。。我们已经在4xx版本范围内。要在一开始就把这些都准备好真的很难。我也犯了同样的错误,认为我可以自己设置,最后我花了数周时间挠头,根本不写任何代码

这并不能真正回答你的问题,但是。。。 我真的建议你使用一些能让你快速启动和运行的东西,比如创建react应用程序。如果你仍然好奇整个捆绑和传输的工作原理,那么你可以稍后再研究。但现在,这一切可能会扼杀你的动力。坚持下去!最终一切都会好起来的

更新


好吧,如果你真的想去基岩的话。你应该做的第一件事是更新你的软件包。尤其是网页包。要使用webpack v4,还需要webpack cli。此外,我建议阅读网页“入门”部分。有很多关于如何设置你的网页配置的好例子

您正在使用一个非常旧版本的webpack(1.12.13)。。。我们已经在4xx版本范围内。要在一开始就把这些都准备好真的很难。我也犯了同样的错误,认为我可以自己设置,最后我花了数周时间挠头,根本不写任何代码

这并不能真正回答你的问题,但是。。。 我真的建议你使用一些能让你快速启动和运行的东西,比如创建react应用程序。如果你仍然好奇整个捆绑和传输的工作原理,那么你可以稍后再研究。但现在,这一切可能会扼杀你的动力。坚持下去!最终一切都会好起来的

更新


好吧,如果你真的想去基岩的话。你应该做的第一件事是更新你的软件包。尤其是网页包。要使用webpack v4,还需要webpack cli。此外,我建议阅读网页“入门”部分。有很多关于如何设置你的网页配置的好例子

我建议您使用,您无需费心使用构建工具。特别是因为您正在学习React,而不是它附带的各种构建工具

npx create-react-app my-app
cd my-app
npm start

(npx comes with npm 5.2+ and higher, see instructions for older npm versions)

如果您不想这样做,请同时更新Babel、Webpack和React。

我建议您使用,您无需使用构建工具。特别是因为您正在学习React,而不是它附带的各种构建工具

npx create-react-app my-app
cd my-app
npm start

(npx comes with npm 5.2+ and higher, see instructions for older npm versions)

如果您不想这样做,请同时更新Babel、Webpack和React。

我来自.NET的强大背景。我知道一些与之相关的事情,比如运输,我真的很难不去想它们。我真的很想深入到底,弄清楚事情是如何运作的。我明白你的意思!看看我的答案。如果你需要进一步的帮助,请告诉我。祝你好运很乐意帮忙:)我来自.NET的强大背景。我知道一些与之相关的事情,比如运输,我真的很难不去想它们。我真的很想深入到底,弄清楚事情是如何运作的。我明白你的意思!看看我的答案。如果你需要进一步的帮助,请告诉我。祝你好运很乐意帮忙:)我真的很想深入到底,弄清楚事情是如何运作的我真的很想深入到底,弄清楚事情是如何运作的