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