Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

226
Vistas
__dirname no funciona en el nodo js con la agrupación de paquetes web

Mi directorio actual es

 D:\bkp\Programming\TestWorks\nodejs\testApp

pero cuando estoy usando __dirname y tratando de mostrar un archivo con el servidor express me da este error

 Error: ENOENT: no such file or directory, stat 'D:\views\index.html'

mi código para eso es

 res.sendFile(__dirname + 'views/index.html');

cuando lo estoy empaquetando con el paquete web y ejecuto el archivo del paquete, esto sucede. De lo contrario, si solo ejecuto el archivo app.js normal, funciona bien. La ayuda sería apreciada.

about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Esto se debe a que webpack puede manejar __dirname (y otras cosas específicas del nodo) de diferentes maneras. Si desea que se comporte normalmente, use esto en la configuración de su paquete web:

 { node: { __dirname: false } }

Ver: https://webpack.js.org/configuration/node/

about 4 years ago · Santiago Trujillo Denunciar

0

El __dirname está configurado en / por webpack, es por eso que termina con /views/index.html que es la raíz de su sistema de archivos, que resulta ser D:\ en su caso. Puede establecer node.dirname en false en la configuración de su paquete web para no inyectarlo y aplazarlo al tiempo de ejecución. Tenga en cuenta que __dirname se referirá a la ubicación del script que está ejecutando, es decir, la ubicación del paquete, no la fuente original.

 node: { __dirname: false }
about 4 years ago · Santiago Trujillo Denunciar

0

"webpack": "^5.24.4" el valor predeterminado depende de la propiedad de configuración de target :

target: 'web' => __dirname = '/'

target: 'node' => __dirname = 'the full path of the output directory'

Se puede ajustar usando la propiedad de configuración del node , consulte https://webpack.js.org/configuration/node/#node__dirname

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda