ERROR in Cannot find module 'babel-core'. using react.js, webpack, and express server

Whenever I run webpack in the terminal I get:

Hash: efea76b1048c3a97b963
Version: webpack 1.12.13
Time: 33ms
    + 1 hidden modules

ERROR in Cannot find module 'babel-core'

Here is my webpack.config.js file

module.exports = {
  entry: './app-client.js',
  output: {
    filename: 'public/bundle.js'
  },
  module: {
    loaders: [
      {
        exclude: /(node_modules|app-server.js)/,
        loader: 'babel'
      }
    ]
  }
}

package.json

{
  "name": "react",
  "version": "1.0.0",
  "description": "React polling app",
  "main": "app-client.js",
  "dependencies": {
    "babel-loader": "^6.2.2",
    "bootstrap": "^3.3.6",
    "express": "^4.13.4",
    "react": "^0.14.7"
  },
  "devDependencies": {},
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}

Solution 1:

You should install babel-loader and babel-core as dev-dependency while npm install.

npm install babel-core babel-loader --save-dev

Solution 2:

For those wanting to use babel-loader 8+: it requires Babel 7.x,, which is to be installed as the '@babel/core' package instead of 'babel-core'. In other words, run:

npm install --save-dev @babel/core

Solution 3:

I just meet this error, and solved by installing babel-core. But the interesting is I found babel-core does exist in babel-loader's peerDependencies.

https://github.com/babel/babel-loader/blob/master/package.json

Why peerDependecies not install automatically, after a few searching work I found this in npm blog.

peerDependencies will not automatically install anymore.

Solution 4:

Adding to @Chetan's answer on this thread:

I ran into this issue today while following through Dr. Axel Rauschmayer's book here. Per book, babel-loader should download babel-core as well. However this is not the case when I tried it out. I think this relates to @theJian's answer.

Since the original package.json already lists babel-loader as dependency, running the following command resolved the error.

npm install babel-core --save-dev