web-dev-qa-db-fra.com

Erreur: Impossible de résoudre le module 'babel-loader'

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

16
Geraint

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"
}
34
Geraint

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

9
Prakash Tiwari

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'"

1
Hailin Tan

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.

0
Robin Daugherty