Node-redis: рд╡реЗрдмрдкреИрдХ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╕рдордп рддреНрд░реБрдЯрд┐

рдХреЛ рдирд┐рд░реНрдорд┐рдд 28 рдЬреБрд▓ре░ 2015  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: NodeRedis/node-redis

рд╡реЗрдмрдкреИрдХ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддреНрд░реБрдЯрд┐ рд╣реЛ рд░рд╣реА рд╣реИ:

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

рдореИрдВ рдПрдХ рдЪрд┐рддреНрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рд╣рд╛рдпрд░рд┐рд╕ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ред рдореЗрд░реЗ рдкрд╛рд╕ рдХреНрдпрд╛ рдЙрдкрд╛рдп рд╣реИ?

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рдереА, рдФрд░ рдЗрд╕реЗ рдпрд╣рд╛рдВ рд╕реЗ рд╕рдорд╛рдзрд╛рди рдЙрдзрд╛рд░ рд▓реЗрдХрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛ред

рддреЛ webpack.config.js рдореЗрдВ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╕реНрдирд┐рдкреЗрдЯ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

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

рдФрд░ рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░реА рд╡рд╛рд▓реА aliases/hiredis.js рдлрд╝рд╛рдЗрд▓ рднреА рдмрдирд╛рдИ:

export default null

рд╕рднреА 8 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╡реЗрдмрдкреИрдХ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд░рд╛рдП рдкрд░ рд▓реЗрдиреЗ рд╡рд╛рд▓реЗ рдиреЛрдб_рд░реЗрдбрд┐рд╕ рдХрд╛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рдирд╣реАрдВ рд╣реИред

рдЖрдкрдХрд╛ рд╡реЗрдмрдкреИрдХ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдХреИрд╕рд╛ рд╣реИ? рдореБрдЭреЗ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд▓реЗрдЦ рдорд┐рд▓рд╛ рдЬрд┐рд╕рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдЕрдкрдирд╛ рдХреЛрдб рдХреИрд╕реЗ рдкреИрдХреЗрдЬ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ node_modules рдореЗрдВ рдХреБрдЫ рднреА рдЫреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рддрд░рд╣ рдЖрдк рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдирд╣реАрдВ рдЦреАрдВрдЪ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреА рдЕрдВрддрд┐рдо рдмрд┐рд▓реНрдб рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреИрдХреЗрдЬрд┐рдВрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЬрдм рддрдХ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЖрдк рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

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

рдЗрд╕реЗ рдмрдВрдж рдХрд░рдирд╛ рдХреНрдпреЛрдВрдХрд┐ рдЖрдЧреЗ рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рдереА рдФрд░ рдпрд╣ рдиреЛрдб-рд░реЗрдбрд┐рд╕ рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ

рдореЗрд░реЗ рд╕рд╛рде рднреА рд╡рд╣реА рджрд┐рдХреНрдХрдд рд╣реИ; рд╡реЗрдмрдкреИрдХ рдХреЗрд╡рд▓ рдиреЛрдб_реНрд░реЗрдбрд┐рд╕ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд╣реЛрддрд╛ рд╣реИ (рдореИрдВ рд╡реЗрдмрдХреЗрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЕрдкрдиреЗ рдмреИрдХрдПрдВрдб рдХреЗ рд╢реЗрд╖ рдкреИрдХреЗрдЬ рдХреЛ рдиреЛрдб_рдореЙрдбрд▓ рдбрд┐рдкреНрд╕ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реЗрдмрдкреИрдХ-рдиреЛрдб-рдПрдХреНрд╕рдЯрд░реНрдирд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреИрдХреЗрдЬ рдХрд░рддрд╛ рд╣реВрдВ)ред

~~~~
ERROR in ./~/redis-commands/index.js
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: 'рдлрд╝рд╛рдЗрд▓' рдпрд╛ 'рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛' рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдбреЗрдореЛ / рдиреЛрдб_рдореЙрдбреНрдпреВрд▓ / рд░реЗрдб-рдХрдорд╛рдВрдб рдореЗрдВ рдЖрджреЗрд╢
@ ./~/redis-commands/index.js 3: 15-36

ERROR in ./~/redis-parser/lib/hiredis.js
рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛: рддреНрд░реБрдЯрд┐: рдбреЗрдореЛ / рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕ / рд░реАрдбрд┐рд╕-рдкрд╛рд░реНрд╕рд░ / рд▓рд┐рдореНрдм рдореЗрдВ рдореЙрдбреНрдпреВрд▓ 'рд╣рд╛рдпрд░рд┐рд╕' рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
@ ./~/redis-parser/lib/hiredis.js 3: 14-32
~~~~

рдпрд╣рд╛рдБ рдореЗрд░рд╛ рдХреЙрдиреНрдлрд┐рдЧрд░ @blainsmith :

~~~~
const nodeExternals = рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ ('рд╡реЗрдмрдкреИрдХ-рдиреЛрдб-рдПрдХреНрд╕рдЯрд░реНрдирд▓');
рдореЙрдбреНрдпреВрд▓ред рдирд┐рд░реНрдпрд╛рдд = {
рд▓рдХреНрд╖реНрдп: 'рдиреЛрдб',

рдмрд╛рд╣реНрдп: [рдиреЛрдб рдмрд╛рд╣реНрдп] (),

рд╕рдВрдХрд▓реНрдк: {
рдПрдХреНрд╕рдЯреЗрдВрд╢рди: ['', '.js'],
рдореЙрдбреНрдпреВрд▓рдбрд╛рдпрд░реЗрдХреНрдЯрд░реАрдЬ: [
'Node_modules'
]
},

рдорд╛рдкрд╛рдВрдХ: {
рд╕рдорд╛рдзрд╛рдирдХрд░реНрддрд╛: {
рд░реВрдЯ: path.join (__ dirname, 'node_modules')
},
рд▓реЛрдбрд░: [
{
рдкрд░реАрдХреНрд╖рдг: /ред рдЬрд╕рдиреЛрдХ /,
рд▓реЛрдбрд░: 'рдЬреЛрди-рд▓реЛрдбрд░'
},
{
рдкрд░реАрдХреНрд╖рдг: / .js$/,
рдмрд╛рд╣рд░ рдХрд░реЗрдВ: [/ node_modules /],
рд▓реЛрдбрд░: 'рдмреЗрдмрд▓-рд▓реЛрдбрд░'
},
]
},
});
~~~~

рдпрд╣рд╛рдВ рдПрдХ рд╣реА рдЪреАрдЬ рдХрд╛ рдЕрдиреБрднрд╡ред рдЕрдиреНрдп рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИрдВред

рджреЗрд╡ рд▓рд┐рдкрд┐ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рдирд┐рд░реНрдорд╛рдг: рджреЗрд╡ рд▓рд┐рдкрд┐ рд╡рд┐рдлрд▓ рд╣реЛрддреА рд╣реИред рд╡рд╣реА webpack.config.jsред

рд╕реНрдХреНрд░рд┐рдкреНрдЯ

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

рддреНрд░реБрдЯрд┐ рдмрдирд╛рдПрдБ

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

рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рдереА, рдФрд░ рдЗрд╕реЗ рдпрд╣рд╛рдВ рд╕реЗ рд╕рдорд╛рдзрд╛рди рдЙрдзрд╛рд░ рд▓реЗрдХрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛ред

рддреЛ webpack.config.js рдореЗрдВ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╕реНрдирд┐рдкреЗрдЯ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

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

рдФрд░ рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░реА рд╡рд╛рд▓реА aliases/hiredis.js рдлрд╝рд╛рдЗрд▓ рднреА рдмрдирд╛рдИ:

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

рд╣реИрдХ рдХреЗ рдмрд┐рдирд╛ рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди

рд╣рд╛рдпрд░рд┐рд╕ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрдирд╛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рд╣реИ, рдФрд░ рдореИрдВ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рднреА рдЙрдкрдирд╛рдореЛрдВ рдореЗрдВ рд╣реИрдХ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛, рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди webpack.IgnorePlugin () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред

Webpack.config.js рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ

plugins: [
    new webpack.IgnorePlugin(/^hiredis$/)
  ],
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

Alchemystic picture Alchemystic  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ghost picture ghost  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

abhaygarg picture abhaygarg  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

betimer picture betimer  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

adamgajzlerowicz picture adamgajzlerowicz  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ