Chaque fois que je lance webpack
dans le terminal, je reçois:
Hash: efea76b1048c3a97b963
Version: webpack 1.12.13
Time: 33ms
+ 1 hidden modules
ERROR in Cannot find module 'babel-core'
Voici mon fichier webpack.config.js
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"
}
Vous devez installer babel-loader et babel-core en tant que dev-dependency pendant l’installation de npm.
npm install babel-core babel-loader --save-dev
Pour ceux qui souhaitent utiliser babel-loader 8+: il nécessite Babel 7.x, qui doit être installé dans le package "@ babel/core" au lieu de "babel-core". En d'autres termes, lancez:
npm install --save-dev @babel/core
Je viens de rencontrer cette erreur, et résolu en installant babel-core. Mais ce qui est intéressant, c’est que j’ai trouvé que babel-core existe dans les peerDependencies de babel-loader.
https://github.com/babel/babel-loader/blob/master/package.json
Pourquoi peerDependecies ne s’installe pas automatiquement, après quelques recherches, j’ai trouvé this dans le blog npm.
peerDependencies ne s'installera plus automatiquement.
Ajout à la réponse de @ Chetan sur ce sujet:
J'ai couru sur cette question aujourd'hui en suivant le livre du Dr Axel Rauschmayer ici . Par livre, babel-loader
devrait également télécharger babel-core
. Cependant, ce n'est pas le cas quand je l'ai essayé. Je pense que cela se rapporte à la réponse de @ theJian.
Comme le package.json d'origine répertorie déjà babel-loader
comme dépendance, l'exécution de la commande suivante a résolu l'erreur.
npm install babel-core --save-dev
npm install babel-register
Cela peut résoudre votre problème. En outre, ajoutez babelrc .babelrc {"presets": ["es2015", "react"]}