readfilesync readdirsync open nodejs node example javascript node.js

javascript - readdirsync - nodejs open file



nodejs fs.exists() (4)

Aquí hay una solución que utiliza bluebird para reemplazar lo existente.

var Promise = require("bluebird") var fs = Promise.promisifyAll(require(''fs'')) fs.existsAsync = function(path){ return fs.openAsync(path, "r").then(function(stats){ return true }).catch(function(stats){ return false }) } fs.existsAsync("./index.js").then(function(exists){ console.log(exists) // true || false })

Estoy tratando de llamar a fs.exists en un script de nodo pero me sale el error:

TypeError: El objeto # no tiene ningún método ''existe''

He intentado reemplazar fs.exists() con require(''fs'').exists e incluso require(''path'').exists (por si acaso), pero ninguno de estos incluso enumera el método exists() con mi IDE. fs se declara en la parte superior de mi script como fs = require(''fs''); y lo he usado previamente para leer archivos.

¿Cómo puedo llamar exists() ?


Deberías estar usando fs.stats o fs.access en fs.access lugar. Desde la documentación del nodo , existe está en desuso (posiblemente eliminado).

Si está intentando hacer algo más que verificar la existencia, la documentación dice que use fs.open . A ejemplo

fs.access(''myfile'', (err) => { if (!err) { console.log(''myfile exists''); return; } console.log(''myfile does not exist''); });


NO use fs.exists http://nodejs.org/api/fs.html#fs_fs_exists_path_callback

Esta es la alternativa sugerida: adelante, abra el archivo y luego maneje el error, si existe:

var fs = require(''fs''); var cb_done_open_file = function(interesting_file, fd) { console.log("Done opening file : " + interesting_file); // we know the file exists and is readable // now do something interesting with given file handle }; // ------------ open file -------------------- // // var interesting_file = "/tmp/aaa"; // does not exist var interesting_file = "/some/cool_file"; var open_flags = "r"; fs.open(interesting_file, open_flags, function(error, fd) { if (error) { // either file does not exist or simply is not readable throw new Error("ERROR - failed to open file : " + interesting_file); } cb_done_open_file(interesting_file, fd); });