J'essaie d'exécuter Webpack sur mon script de post-installation dans mon package.json lorsque j'appuie sur heroku, mais le message d'erreur suivant s'affiche.
ERROR in Entry module not found: Error: Cannot resolve module 'babel-loader' in /tmp/build_6cb4b10367d9382367ab72f2e2f33118
Lorsque j'exécute la commande localement, je ne reçois aucun problème. Vous trouverez ci-dessous la configuration de mon WebPack. J'ai essayé d'utiliser resolLoader pour résoudre le problème mais sans succès.
var path = require('path');
var webpack = require('webpack');
var config = {
entry: path.resolve(__dirname, './app/main.js'),
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'bundle.js'
},
module: {
loaders: [
{
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel-loader'
},
{
test: /\.less$/,
loader: 'style!css!less'
}]
},
resolve: {
extensions: ['', '.js', '.jsx', '.less'],
modulesDirectories: [
'node_modules'
]
},
resolveLoader: {
root: path.resolve(__dirname, 'node_modules')
},
plugins: [
new webpack.optimize.UglifyJsPlugin({minimize: true})
]
};
module.exports = config;
Aucune suggestion? Merci
J'ai découvert pourquoi. Je n'ai pas eu babel ou babel-core dans mon package.json. Ajoutez-les a corrigé l'erreur.
"devDependencies": {
"babel": "^5.8.23",
"babel-core": "^5.0.0",
"babel-loader": "^5.3.2"
}
Dans mon cas, j’avais mal orthographié le chargeur lors de l’installation, alors assurez-vous d’installer
babel-loader
NE PAS
chargeur de pignon
Dans mon cas, j'ai essayé la commande:
$ npm install babel-loader --save
et a continué à réparer le reste en fonction du rappel de la console et a résolu le problème suivant:
"ERREUR dans le module de saisie introuvable: erreur: impossible de résoudre 'babel-loader'"
Dans certains cas, lors du déploiement en production (par exemple avec Rails Webpacker), les dépendances de développement ne sont pas chargées. Donc, avoir babel-loader dans devDependencies
ne fonctionnera pas.
En fait, il est logique que babel-loader soit placé dans dependencies
, pas devDependencies
, car il est utilisé dans le code de production lui-même. Les seuls packages devant figurer dans devDependencies
sont ceux exécutés en développement, tels que les tests et les linters.