¿Cómo escribo esto para volver a los niveles de padre 2 para encontrar un archivo?
fs.readFile(__dirname + 'foo.bar');
                    
                        javascript
                                node.js
                                filesystems
                                
                    
                    
                        lujoso
fuente
                
                
            fuente

fs.readFile(__dirname + '/../../foo.bar');y funcionó.__dirnamefue algo así como'/foo/bar'no'/foo/bar/'.__dirnamepuede parecer/path/to/your/dir, si usted dice__dirname + ".."que es/path/to/your/dir.., que es un directorio que no existe, en lugar de/path/to/your. El corte es importante.Utilice path.join http://nodejs.org/docs/v0.4.10/api/path.html#path.join
path.join()manejará las barras diagonales / finales por usted y simplemente hará lo correcto y no tendrá que intentar recordar cuándo existen las barras diagonales finales y cuándo no.fuente
path.joines la forma correcta, la respuesta aceptada no debe ser seguido, incluso desencadenaeslintenairbnb-base presetla regla de no-path-concat en particular__dirnameerahost/src/foldery necesitabahost/foldery esto funcionó para mí, no la respuesta OP.path.join(__dirname, '..', '..', 'foo.bar')Sé que es un poco exigente, pero todas las respuestas hasta ahora no son correctas.
El punto de path.join () es eliminar la necesidad de que la persona que llama sepa qué separador de directorio usar (haciendo que la plataforma de código sea independiente).
Técnicamente, la respuesta correcta sería algo como:
¡Hubiera agregado esto como un comentario a la respuesta de Alex Wayne, pero todavía no tengo suficiente representante!
EDITAR: según la observación del usuario 1767586
fuente
La forma más fácil sería usar
path.resolve:fuente
../a la rutaParece que necesitarás el
pathmódulo. (path.normalizeen particular)fuente
Si otro módulo llama al suyo y aún desea saber la ubicación del archivo principal que se está ejecutando, puede usar una modificación del código de @ Jason:
De esa forma obtendrá la ubicación del script que se está ejecutando realmente.
fuente
Si no está seguro de dónde está el padre, esto le dará el camino;
fuente
Puedes usar
fuente
Estoy ejecutando la aplicación de electrones y puedo obtener la carpeta principal por path.resolve ()
Nivel padre 1:
path.resolve(__dirname, '..') + '/'padres 2 niveles:
path.resolve(__dirname, '..', '..') + '/'fuente
esto también funcionará:
fuente