Node-redis: Fehler beim Erstellen mit Webpack

Erstellt am 28. Juli 2015  ·  8Kommentare  ·  Quelle: NodeRedis/node-redis

Beim Erstellen mit Webpack wird folgende Fehlermeldung angezeigt:

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

Ich möchte Hiredis nicht als Abhängigkeit installieren. Welche Lösung habe ich?

question

Hilfreichster Kommentar

Hatte den gleichen Fehler und funktionierte, indem ich die Lösung von hier auslieh .

Das relevante Snippet in webpack.config.js sieht also so aus:

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

Außerdem habe ich die Datei aliases/hiredis.js , die folgenden Inhalt hat:

export default null

Alle 8 Kommentare

Das Webpack erkennt anscheinend nicht, dass Hiredis eine optionale Abhängigkeit von node_redis ist.

Wie ist Ihre Webpack-Konfiguration? Ich habe einen interessanten Artikel gefunden, der zeigt, wie Sie nur Ihren eigenen Code verpacken und alles in node_modules wie es ist. Auf diese Weise ziehen Sie keine Module von Drittanbietern ein und packen sie in Ihre endgültige Build-Datei. Es sei denn, Sie versuchen dies natürlich.

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

Schließen Sie dies, da es keine weitere Antwort gab und es kein Problem mit Node-Redis gibt

Ich habe das gleiche Problem; Webpack scheint nur mit node_redis zu scheitern (ich verwende webpack erfolgreich, um den Rest meines Backends mit webpack-node-externals zu packen, um node_module deps zu überspringen).

~~~~
FEHLER in ./~/redis-commands/index.js
Modul nicht gefunden: Fehler: 'Datei' oder 'Verzeichnis' ./Befehle in demo / node_modules / redis-Befehlen können nicht aufgelöst werden
@ ./~/redis-commands/index.js 3: 15-36

FEHLER in ./~/redis-parser/lib/hiredis.js
Modul nicht gefunden: Fehler: Das Modul 'sharedis' in demo / node_modules / redis-parser / lib kann nicht aufgelöst werden
@ ./~/redis-parser/lib/hiredis.js 3: 14-32
~~~~

@blainsmith meine Konfiguration hier:

~~~~
const nodeExternals = require ('webpack-node-externals');
module.exports = {
Ziel: 'Knoten',

externals: [nodeExternals ()],

Entschlossenheit: {
Erweiterungen: ['', '.js'],
modulesDirectories: [
'node_modules'
]]
},

Modul: {
resolveLoader: {
root: path.join (__ dirname, 'node_modules')
},
Lader: [
{
Test: /.json$/,
Lader: 'json-loader'
},
{
Test: /.js$/,
ausschließen: [/ node_modules /],
Lader: 'Babel-Lader'
},
]]
},
});
~~~~

Das Gleiche hier erleben. Andere Abhängigkeiten werden aufgelöst.

Das Dev-Skript funktioniert, das Build: Dev- Skript schlägt fehl. Gleiche webpack.config.js.

Skripte

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

Build-Fehler

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

Hatte den gleichen Fehler und funktionierte, indem ich die Lösung von hier auslieh .

Das relevante Snippet in webpack.config.js sieht also so aus:

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

Außerdem habe ich die Datei aliases/hiredis.js , die folgenden Inhalt hat:

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

Einfache Lösung ohne Hack

Da Hiredis eine optionale Abhängigkeit ist und ich keine unnötigen Abhängigkeiten installieren möchte, aber auch keine Aliase hacken möchte, ist die einfachste Lösung die Verwendung von webpack.IgnorePlugin ().

Zu webpack.config.js hinzufügen

plugins: [
    new webpack.IgnorePlugin(/^hiredis$/)
  ],
War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

Atala picture Atala  ·  3Kommentare

Stono picture Stono  ·  6Kommentare

strumwolf picture strumwolf  ·  4Kommentare

Mickael-van-der-Beek picture Mickael-van-der-Beek  ·  6Kommentare

abhaygarg picture abhaygarg  ·  5Kommentare