Node-redis: Erreur lors de la construction avec Webpack

Créé le 28 juil. 2015  ·  8Commentaires  ·  Source: NodeRedis/node-redis

J'obtiens l'erreur suivante lors de la construction avec webpack:

ERROR in ./~/redis/lib/parser/hiredis.js
Module not found: Error: Cannot resolve module 'hiredis' in C:\NodeServer\AppInTheWild\node_modules\redis\lib\parser
 @ ./~/redis/lib/parser/hiredis.js 3:14-32

Je ne souhaite pas installer hiredis en tant que dépendance. Quelle solution ai-je?

question

Commentaire le plus utile

J'ai eu la même erreur et je l'ai fait fonctionner en empruntant la solution d' ici .

Ainsi, l'extrait de code pertinent dans webpack.config.js ressemble à ceci:

resolve: {
  alias: {
    'hiredis': path.join(__dirname, 'aliases/hiredis.js')
  }
}

Et aussi j'ai créé le fichier aliases/hiredis.js qui a le contenu suivant:

export default null

Tous les 8 commentaires

On dirait que webpack ne détecte pas que hiredis est une dépendance facultative de node_redis.

À quoi ressemble votre configuration Webpack? J'ai trouvé un article intéressant montrant comment vous ne devez empaqueter que votre propre code et laisser n'importe quoi dans node_modules tel quel. De cette façon, vous n'extrayez pas de modules tiers et ne les regroupez pas dans votre fichier de construction final. À moins, bien sûr, que vous n'essayiez de le faire.

http://jlongster.com/Backend-Apps-with-Webpack--Part-I

Clôturer cela car il n'y avait aucune autre réponse et ce n'est pas un problème avec node-redis

J'ai le même problème; webpack ne semble échouer qu'avec node_redis (j'utilise webpack avec succès pour empaqueter le reste de mon backend en utilisant webpack-node-externals pour ignorer les deps node_module).

~~~~
ERREUR dans ./~/redis-commands/index.js
Module non trouvé: Erreur: Impossible de résoudre 'fichier' ou 'répertoire' ./commands dans demo / node_modules / redis-commands
@ ./~/redis-commands/index.js 3: 15-36

ERREUR dans ./~/redis-parser/lib/hiredis.js
Module introuvable: Erreur: Impossible de résoudre le module 'hiredis' dans demo / node_modules / redis-parser / lib
@ ./~/redis-parser/lib/hiredis.js 3: 14-32
~~~~

@blainsmith ma configuration ici:

~~~~
const nodeExternals = require ('webpack-node-externals');
module.exports = {
cible: 'nœud',

externes: [nodeExternals ()],

résoudre: {
extensions: ['', '.js'],
modulesDirectories: [
'node_modules'
]
},

module: {
résoudreLoader: {
root: path.join (__ dirname, 'node_modules')
},
chargeurs: [
{
test: /.json$/,
chargeur: 'json-loader'
},
{
test: /.js$/,
exclure: [/ node_modules /],
chargeur: 'babel-loader'
},
]
},
});
~~~~

Vivre la même chose ici. D'autres dépendances sont résolues.

Le script dev fonctionne, le script build: dev échoue. Même webpack.config.js.

Les scripts

"dev": "DEBUG=* && webpack-dev-server --bail --config webpack.config.js --host 0.0.0.0",
"build:dev": "webpack --config webpack.config.js ",

Deps

"botkit-storage-redis": "1.1.0",

Erreur de construction

ERROR in ./~/redis-parser/lib/hiredis.js
Module not found: Error: Can't resolve 'hiredis' in '/path/to/node_modules/redis-parser/lib'
 @ ./~/redis-parser/lib/hiredis.js 3:14-32
 @ ./~/redis-parser/lib/parser.js
 @ ./~/redis-parser/index.js
 @ ./~/redis/index.js
 @ ./~/botkit-storage-redis/src/index.js
 @ ./~/botkit-storage-redis/index.js
 @ ./src/index.js

J'ai eu la même erreur et je l'ai fait fonctionner en empruntant la solution d' ici .

Ainsi, l'extrait de code pertinent dans webpack.config.js ressemble à ceci:

resolve: {
  alias: {
    'hiredis': path.join(__dirname, 'aliases/hiredis.js')
  }
}

Et aussi j'ai créé le fichier aliases/hiredis.js qui a le contenu suivant:

export default null
yarn add hiredis
npm i --save hiredis

Solution simple sans hack

Étant donné que hiredis est une dépendance facultative, je ne veux pas installer de dépendances inutiles, mais je ne veux pas non plus pirater les alias, la solution la plus simple est d'utiliser webpack.IgnorePlugin ().

Ajouter à webpack.config.js

plugins: [
    new webpack.IgnorePlugin(/^hiredis$/)
  ],
Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

abhaygarg picture abhaygarg  ·  5Commentaires

betimer picture betimer  ·  5Commentaires

id0Sch picture id0Sch  ·  4Commentaires

Stono picture Stono  ·  6Commentaires

michaelwittig picture michaelwittig  ·  3Commentaires