¿Webpack no puede usar __dirname?

Estoy tratando de usar node-postgres para conectar mi aplicación a Postgres. El código que utilizo es:

import React from 'react'; import pg from 'pg'; import fs from 'fs'; var cn = { host: 'localhost', // server name or IP address; port: 5432, database: 'my_db', user: 'myname', password: 'mypass' }; 

y produce el error:

 index.js:5 Uncaught ReferenceError: __dirname is not defined up @ index.js:5 __webpack_require__ @ bootstrap 539ecc7…:19 (anonymous function) @ client.js:4 __webpack_require__ @ bootstrap 539ecc7…:19 (anonymous function) @ index.js:3 console.EventEmitter._events @ index.js:81 __webpack_require__ @ bootstrap 539ecc7…:19 (anonymous function) @ app.js:26957 __webpack_require__ @ bootstrap 539ecc7…:19 content @ bootstrap 539ecc7…:39 __webpack_require__ @ bootstrap 539ecc7…:19 (anonymous function) @ bootstrap 539ecc7…:39 (anonymous function) @ bootstrap 539ecc7…:39 webpackUniversalModuleDefinition @ universalModuleDefinition:7 (anonymous function) @ universalModuleDefinition:10 

La ruta en index.js proporcionada en la consola es webpack: ///./~/pg/~/pgpass/lib/index.js: 5

Probé la solución @Renzo Poddighe en cómo escribir un archivo con el nodo webkit js? Pero sigo teniendo el mismo error. Creo que puede tener algo que ver con las discusiones en https://github.com/nwjs/nw.js/wiki/Differences-of-JavaScript-contexts#resolving-relative-paths-to-other-scripts y https: //github.com/nwjs/nw.js/issues/264 . Ellos dijeron eso

 // __dirname is not defined in webkit context, this is only node.js thing console.log(__dirname); // undefined 

y

__dirname funciona en los módulos Node.js, es decir, en el código JavaScript que se llamó con require (). __dirname no funciona solo en los scripts de WebKit, es decir, en el código JavaScript que se llamó con HTML o $ .getScript () de jQuery, o cualquier otro método similar.

¿Algunas ideas? Déjame saber qué otra información debo incluir.

editar

Creo que mi objective es

 var config = { entry: { app: './src/index.jsx'}, output: { libraryTarget: 'umd', path: path.join(__dirname, 'dist'), filename: '[name].js' }, ... 

Mi webpack.config.js se parece a:

 ... node: { console: true, __dirname: true, dns: 'empty', fs: 'empty', net: 'empty', tls: 'empty' } ... 

En ese caso, agregue esto a la configuración de su paquete web:

 { node: { __dirname: true } } 

Esto le indicará a webpack que reemplace __dirname instancias de __dirname con la ruta del módulo. Este camino relativo al context